Androidランチャーのパッケージ名はcom.android.launcherです。
ただし、特定のデバイスにある場合とない場合があります。実際、私はそれがおそらくデバイスの数パーセントにあると予想します。ほとんどのメーカーは、ストックのホーム画面を自社のものに交換しています。
おそらく別の方法があるかどうか疑問に思っていますか?
PackageManager
およびを使用して、およびqueryIntentActivities()
をサポートするすべてのアクティビティを検索します。リストからアクティビティを削除します。残りが1つしかない場合は、そのアクティビティを起動します。複数残っている場合は、自分のチューザーを作成して、使用可能なオプションを表示します。そうすれば、他にどんなホーム画面が存在していても、それを起動することができます。ACTION_MAIN
CATEGORY_HOME
アップデート
ResolveInfo
名前付きの、および名前付きのlaunchable
/テンプレートACTION_MAIN
をCATEGORY_HOME
指定して、そのアクティビティを起動するには、次のようにします。Intent
i
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);
startActivity(i);