2012-08-03 79 views
0

我尝试从我的主要活动中启动第三方应用:安卓权限拒绝

intent = new Intent();

final ComponentName cn = new ComponentName("com.mojang.minecraftpe", 
"com.mojang.minecraftpe.MainMenuOptionsActivity"); 
intent.setComponent(cn); 
intent.setAction(Intent.ACTION_MAIN); 
startActivity(intent); 

,但我得到的错误:

E/AndroidRuntime(22330): java.lang.SecurityException: Permission  Denial: starting 
Intent { act=android.intent.action.MAINcmp=com.mojang.minecraftpe/.MainMenuOptionsActivity 
} from ProcessRecord{407b6928 22330:com.metalex.musicplayer/10073} (pid=22330, uid=10073) 
requires null 

请帮帮我!

+0

Intent i = new Intent(class name.this,Activity2.class); \t \t \t \t \t \t \t \t \t \t startActivity(ⅰ); – shassss 2012-08-03 09:44:58

+0

@shanthi:他写了“第三方应用程序”,所以他无法访问ThirdPartyActivity.class。 – 2012-08-03 10:00:00

+0

http://stackoverflow.com/questions/4162447/android-java-lang-securityexception-permission-denial-start-intent的副本 – kgautron 2012-08-03 09:44:20

回答

1

试试这个:

Intent intent= getPackageManager().getLaunchIntentForPackage("com.mojang.minecraftpe"); 
startActivity(intent); 

这样你就不必弄清楚你可以启动该活动。

2

根本原因是目标活动未导出,因此无法从其他应用程序启动它。

问候

紫藤陈