2012-11-19 40 views
1

我不得不说,我第一次使用这个android设备,但我设置了USB调试。 就好像它第一次安装了应用程序,然后它不会更新我所做的任何更改。模拟器正常,设备失败,SecurityException:权限拒绝

所以,该应用程序在模拟器上工作。

我把它安装在Xperia arc S(索尼爱立信)设备上,它第一次工作。

然后我选择清单中的一个不同的主要活动,我得到这个错误

ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.moob/.InitialMenuActivity } from null (pid=7195, uid=2000) requires null 

但它仍然工作在模拟器上!我已经在移动设备上卸载了该应用程序,但随后出现了上述错误。

请注意,在movile设备上卸载并重新启动后,它会在清单更改之前重新安装可以工作的版本(我可以在手机上启动它,但它是旧版本)。

擦除应用

Installing duelos_android.apk... 
Success! 
Starting activity com.moob.InitialMenuActivity on device 42583930325432573634 
ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat= 

[android.intent.category.LAUNCHER] cmp=com.moob/.InitialMenuActivity } 
ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.moob/.InitialMenuActivity } from null (pid=7195, uid=2000) requires null 

清单后 -

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.moob" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 
    <uses-permission android:name="android.permission.VIBRATE"/> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".SingleDuelActivity" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name=".MultiDuelActivity" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name=".GameClientActivity" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name=".LoadingActivity" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 

     </activity> 

     <activity 
      android:name=".Ranking" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 

     </activity> 
     <activity 
      android:name=".LogginActivity" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 

     </activity> 

     <activity 
      android:name="com.moob.FB.FriendsList" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name="com.moob.FB.Example"    
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name=".InitialMenuActivity" 
      android:screenOrientation="portrait" 
      android:exported="true" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

     </activity> 
    </application> 

<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 

</manifest> 

这里logcat的

11-19 12:32:42.506: D/AndroidRuntime(7718): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 
11-19 12:32:42.506: D/AndroidRuntime(7718): CheckJNI is OFF 
11-19 12:32:42.506: D/dalvikvm(7718): creating instr width table 
11-19 12:32:42.616: D/AndroidRuntime(7718): Calling main entry com.android.commands.pm.Pm 
11-19 12:32:42.626: D/AndroidRuntime(7718): Shutting down VM 
11-19 12:32:42.626: D/dalvikvm(7718): GC_CONCURRENT freed 101K, 71% free 299K/1024K, external 0K/0K, paused 1ms+1ms 
11-19 12:32:42.626: D/dalvikvm(7718): Debugger has detached; object registry had 1 entries 
11-19 12:32:42.626: I/AndroidRuntime(7718): NOTE: attach of thread 'Binder Thread #2' failed 
11-19 12:32:42.746: D/AndroidRuntime(7728): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 
11-19 12:32:42.746: D/AndroidRuntime(7728): CheckJNI is OFF 
11-19 12:32:42.746: D/dalvikvm(7728): creating instr width table 
11-19 12:32:42.866: D/AndroidRuntime(7728): Calling main entry com.android.commands.am.Am 
11-19 12:32:42.866: I/ActivityManager(262): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.moob/.InitialMenuActivity } from pid 7728 
11-19 12:32:42.866: W/ActivityManager(262): Permission denied: checkComponentPermission() reqUid=10158 
11-19 12:32:42.866: W/ActivityManager(262): Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.moob/.InitialMenuActivity } from null (pid=7728, uid=2000) requires null 

InitialMenuActivty(我不使用clickUno和clickDos他们不是从我)

public class InitialMenuActivity extends Activity { 
private static final String TAG = "TESTING"; 

    //menu para ir a configuracion, jugar solo, ranking, puntuacion y multplayer 
/* 
* 
* 
* http://greendao-orm.com/ 
* 
* 
* */ 

    private SQLiteDatabase db; 
    private DaoMaster daoMaster; 
    private DaoSession daoSession; 
    private LogroDao daoLogro; 
    private Cursor cursor; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mainmenu); 




    } 
    public void clickUno(View target) 
    { 
     Log.d(TAG, "click 1"); 
     DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "notes-db", null); 
     db = helper.getWritableDatabase(); 
     daoMaster = new DaoMaster(db); 
     daoSession = daoMaster.newSession(); 
     daoLogro = daoSession.getLogroDao(); 
     final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); 
     String comment = "logro en:" + df.format(new Date()); 
     daoLogro.insert(new Logro(null,comment,new Date())); 
    /* List<Logro> logros=daoLogro.queryBuilder().list(); 
     for (Iterator iterator = logros.iterator(); iterator.hasNext();) { 
      Logro logro = (Logro) iterator.next(); 
      Log.d(TAG, "Logro::"+logro.getLogro_name()+"-"+String.valueOf(logro.getDate())); 
     } 
     */ 



    } 
    public void clickDos(View target) 
    { 
     Log.d(TAG, "click 2"); 
     List<Logro> logros=daoLogro.queryBuilder().list(); 
     for (Iterator iterator = logros.iterator(); iterator.hasNext();) { 
      Logro logro = (Logro) iterator.next(); 
      Log.d(TAG, "Logro::"+logro.getLogro_name()+"-"+String.valueOf(logro.getDate())); 
     } 

    } 

    public void exempleFB(View target){ 

     Intent t = new Intent(InitialMenuActivity.this, Example.class); 
     startActivity(t); 
    } 

    public void logginActivity(View target){ 

     Intent t = new Intent(InitialMenuActivity.this, LogginActivity.class); 
     startActivity(t); 
    } 

    public void rankingActivity(View target){ 
     //if (Utility.arrayListFriend != null){ 
     Intent t = new Intent(InitialMenuActivity.this, Ranking.class); 
     startActivity(t); 
    } 

    public void singleDuelActivity(View target){ 

     Intent t = new Intent(InitialMenuActivity.this, SingleDuelActivity.class); 
     startActivity(t); 
    } 

    public void multiDuelActivity(View target){ 

    Intent t = new Intent(InitialMenuActivity.this, MultiDuelActivity.class); 
    startActivity(t); 
} 
} 
+1

请分享完整的logcat stacktrace ... –

+0

我添加了你问的问题吗?我从LogCat中接收了所有消息 –

+0

您能分享InitialMenuActivity类中的代码吗......看起来这个类的生命周期方法中有一个问题... –

回答

0

好吧,我不得不清理项目,它解决了这个问题......我仍然不知道它为什么在模拟器上工作,但不在移动设备上。

0

我不是自己的专家,但是因为它似乎有意图的麻烦,为什么不尝试评论所有的意图部分,你可以。

我相信仿真器通常没有其他可以与之交互的应用程序(例如Facebook),所以它可能是它忽略了这些意图,而您的物理设备正在尝试处理它们。

无能为力,但值得一试。

相关问题