アプリケーションをデフォルトのホームとして設定しました。すべてが順調に進んでいますが、アプリケーションによってランチャーをデフォルトのホームとして設定した場合(誤って)、アプリはアプリをデフォルトとして設定するように要求せず、ランチャーのホームを直接開きます。アプリがデフォルトのホームとして設定されるまで、ユーザーにデフォルトとして設定するように求めます。助けてください
前もって感謝します。
アプリケーションをデフォルトのホームとして設定しました。すべてが順調に進んでいますが、アプリケーションによってランチャーをデフォルトのホームとして設定した場合(誤って)、アプリはアプリをデフォルトとして設定するように要求せず、ランチャーのホームを直接開きます。アプリがデフォルトのホームとして設定されるまで、ユーザーにデフォルトとして設定するように求めます。助けてください
前もって感謝します。
次のコードで、現在のデフォルトのランチャーを確認できます。
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
ResolveInfo resolveInfo = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
String currentHomePackage = resolveInfo.activityInfo.packageName;
この回答に示されているように: How can I get the package name of the current launcher in android 2.3 and above?
したがってcurrentHomePackage
、アプリのパッケージと等しいかどうかを確認し、それに応じて行動してください。
ユーザーが別のアプリを既定のランチャーとして設定した場合、既定のランチャーを選択するダイアログは、既定のランチャーを削除するか、既定のランチャーとして機能するアプリを削除/インストールした場合にのみ再び表示されます。
ブール条件でプリファレンスを作成します ....
格納された値はデフォルトとして false ...
この条件を確認してランチャーを起動します
ユーザーがアプリをデフォルトのランチャーとして設定している場合は、ブール値の設定を true にします ....