3

在使用模拟器时,我通过以下代码成功启动了默认主页启动器:

Intent de_intent=new Intent();
de_intent.setClassName("com.android.launcher","com.android.launcher2.Launcher");
startActivity(de_intent);

但是当我在真实设备中执行此代码时,它显示以下异常:

Unable to find explicit activity class {com.android.launcher/com.android.launcher2.Launcher} have you declared this in AndroidManifest.xml

有人可以帮我解决这个问题吗?

4

3 回答 3

5

你有三星设备吗?他们用 TouchWiz Home 启动器替换了默认的 Android 启动器。以下代码使用 setClassName() 方法为我工作:

Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setClassName("com.sec.android.app.launcher", "com.android.launcher2.Launcher");
        startActivity(intent);
于 2013-02-14T19:29:09.500 回答
2

如果要返回 HOME,可以使用:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
于 2012-11-12T14:20:54.937 回答
2

尝试以下:

 Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_HOME);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startMain);
于 2012-11-12T14:21:08.150 回答