プラットフォーム:JellyBeanを実行しているASUS Nexus 7
キオスクアプリケーションをデフォルトのHOME/LAUNCHERインテントにして作成しました。サービスとメンテナンスのための秘密のコードを介して、ストックのAndroidランチャーにアクセスできるようにする必要があります。
私はあちこちを検索しましたが、良い簡潔な答えを見つけることができません。私が思いついた最善の方法は、インテントチューザー(Intent.createChooser(Intent i, String title)
)を作成し、ランチャーとストックランチャーのどちらかを選択することです。これは問題ありませんが、実際には回避策です。
私はもう試した:
PackageManager pm = this.getPackageManager();
try {
Intent i = pm.getLaunchIntentForPackage("com.android.launcher");
if (i != null)
this.startActivity(i);
}
catch (ActivityNotFoundException e) { }
そして、私は毎回その意図に対してnullを取得します。それでも、ストックランチャーは私のタブレットに「com.android.launcher」のパッケージを表示します。明らかに、私はここで何か完全に間違っているのです。