web-dev-qa-db-ja.com

Androidランチャーアイコンをプログラムで非表示にする方法

私のアプリは一度だけ実行する必要があるように設計されています。そのため、最初の実行後にランチャーからアイコンを非表示にしますが、アプリをアンインストールしません。

同様のアプリケーションを見てきました-ランチャーアプリリストから独自のアイコンを削除できます。同じ結果を得るにはどうすればよいですか?ありがとうございました。

44
user1047351
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

次の再起動までアイコンは消えないことに注意してください。

65
Kuffs

以下のコードを使用してアプリのアイコンを非表示にします

PackageManager pkg=this.getPackageManager();
pkg.setComponentEnabledSetting(new ComponentName(this,SplashActivity.class),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                        PackageManager.DONT_KILL_APP);

// <category Android:name="Android.intent.category.LAUNCHER" />として宣言されているマニフェストファイルで初めて開かれるアクティビティ

アプリのアイコンを戻す方法は次のとおりです

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this,SplashActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
11
Sahir Saiyed

AndroidManifestのアクティビティの宣言にMAINおよびLAUNCHERを含むインテントフィルターを含めないことで、ランチャーなしでアプリを作成できます。最初のキックオフを行う方法は次の質問になります。

1
Clocker

With Android Q(API 29) Googleはランチャーアイコンの可視性を変更しました 動作。ランチャーアクティビティを無効にするか、Android.intent.category.LAUNCHER<intent-filter>すべてのアクティビティから、アプリがランチャーに表示され、Android OSアプリ設定を開きます。

  • それぞれのマニフェストファイルで権限を宣言していないパッケージ
  • システムアプリ
  • それぞれのマニフェストのタグ内にコンポーネントを含まないアプリ
0
G00fY