2

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

            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

4 回答 4

4

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

   PackageManager manager = getPackageManager(); 
   Intent intent =manager.getLaunchIntentForPackage("com.android.stk"); 
   if (intent != null)  
    startActivity(intent); 
于 2012-12-06T17:10:31.850 回答
1

看起来像你这边的错字

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

stk还是stk2?:)

于 2012-12-06T16:54:31.760 回答
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);

有关更多详细信息,请点击此链接

于 2012-12-07T06:18:37.147 回答
0

要从另一个应用程序启动活动,您可以在您的活动所属的应用程序的android清单的活动意图过滤器中设置“动作”。在启动时为意图设置相同的“动作”

于 2012-12-06T17:01:09.600 回答