1

こんにちは、アプリから起動するためにホーム アクティビティ名を保持したくありません。

パッケージ名を知らなくてもランチャーを起動できることは知っていますが。カスタム ホームを作成しています。これをデフォルトとして設定し、カスタム ホームを起動します。

初めてカスタム ホームを起動したときにランチャー アクティビティ名を共有設定に保持したくないので、個人のホームからデフォルトのホームに移動できるようにします (ホーム設定を削除せずにデフォルトのままにします)デバッグテストのためだけにデフォルトのホームを起動します)

私が明確かどうかわかりません。私はこの件について自分自身を理解するのが難しいので、再開するには、アクティビティの最初の起動時にデフォルトのランチャーの名前を取得する必要があります (すべてのデバイスの com.android.launcher ではないため)。その後しばらくして

何か案が?

4

2 に答える 2

2

最後に、私はそれを気にしない名前を保持しません。次のコードを使用して、私のものではないランチャーを起動します:P

PackageManager pm = getPackageManager();
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
if (lst != null) 
{
  for (ResolveInfo resolveInfo : lst) {
    if (resolveInfo.activityInfo.packageName != getPackageName()){
      Intent res = new Intent();
      String mPackage = resolveInfo.activityInfo.packageName;
      String mClass = resolveInfo.activityInfo.name;
      res.setComponent(new ComponentName(mPackage,mClass));
      startActivity(res);
    }
  }
}
于 2013-05-22T07:24:42.747 に答える
0

インテント アクションandroid.intent.category.HOMEで登録されたアプリケーションを取得でき、このインテントで登録されたアプリケーションのパッケージ リストを取得できます。 これも参考になるかも

于 2013-05-14T08:49:34.263 に答える