如何从其他应用程序启动Android Activity?

时间:2012-12-06 16:49:53

标签: android android-activity sim-toolkit

我正在尝试编写一个启动Android STK活动的应用程序,如下所示:

            Intent intent = new Intent(); 
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            intent.addCategory(Intent.CATEGORY_LAUNCHER); 
            intent.setAction(Intent.ACTION_MAIN); 
            intent.setComponent(new ComponentName("com.android.stk", "com.android.stk.StkLauncherActivity")); 
            startActivity(intent);

我一直收到以下错误:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.stk/com.android.stk.StkLauncherActivity}; have you declared this activity in your AndroidManifest.xml?

我在清单中声明了以下内容:

<activity android:name="com.android.stk.StkLauncherActivity"/>

4 个答案:

答案 0 :(得分:4)

尝试使用PackageManager.getLaunchIntentForPackage返回意图在给定包中启动前门活动:

   PackageManager manager = getPackageManager(); 
   Intent intent =manager.getLaunchIntentForPackage("com.android.stk"); 
   if (intent != null)  
    startActivity(intent); 

答案 1 :(得分:1)

看起来像是一个错字

com.android.stk/com.android.stk2.StkLauncherActivity

stkstk2? :)

答案 2 :(得分:0)

要从其他应用启动活动,您可以在您的活动所属的应用的Android清单的活动意图过滤器中设置“操作”。在启动时为意图设置相同的“操作”

答案 3 :(得分:0)

请尝试以下代码段

final Intent intent = new Intent(Intent.ACTION_MAIN, null);

intent.addCategory(Intent.CATEGORY_LAUNCHER);
final ComponentName cn = new ComponentName("com.abc.xyz", "com.abc.xyz.MainActivity");
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity( intent);

详细信息Follow this Link