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

Samsungデバイスをお持ちですか?彼らはデフォルトのAndroidランチャーをTouchWizHomeランチャーに置き換えました。次のコードは、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 に答える