私は友人と話し合った. 私もアンドロイドを勉強しているので聞いたことがなかったので驚きました。
アプリの名前は「アプリケーションの管理」セクションに表示され、簡単にアンインストールできます。
だから今、私はプログラマーとして尋ねています。そのようなアプリケーションをインストールするにはどうすればよいでしょうか (可能な場合)。(アクティビティまたはランチャーなし)。
私は友人と話し合った. 私もアンドロイドを勉強しているので聞いたことがなかったので驚きました。
アプリの名前は「アプリケーションの管理」セクションに表示され、簡単にアンインストールできます。
だから今、私はプログラマーとして尋ねています。そのようなアプリケーションをインストールするにはどうすればよいでしょうか (可能な場合)。(アクティビティまたはランチャーなし)。
マニフェストから次のインテント フィルターをすべて削除するだけです。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
ただし、Android 3.1 以降では、ユーザーがアプリを手動で開いていない場合、アプリはブロードキャストを受信したり、インテント フィルターによって利用可能になる他の場所 (共有メニューなど) にリストされたりしないことに注意してください。 UI (メイン アクティビティ) をランチャーから少なくとも 1 回。
Android3.1以降でも動作する別の方法があります。アイコン自体を無効にすることはできませんが、アプリケーションの1つのコンポーネントを無効にすることができます。そのため、アプリケーション ランチャー アクティビティを無効にすると、そのアイコンがランチャーから削除されます。
これを行うコードは簡単です。
ComponentName componentToDisable =
new ComponentName("com.helloandroid.apptodisable",
"com.helloandroid.apptodisable.LauncherActivity");
getPackageManager().setComponentEnabledSetting(
componentToDisable,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
このソリューションについて知っておくべきことがいくつかあります。
1-無効なコンポーネントは、どのような方法でも起動できません
2-その他の無効になっていないアクティビティは、他のアプリケーションから起動できます
3-アプリケーションは、それ自体のコンポーネントのみを無効にできます。「android.permission.CHANGE_COMPONENT_ENABLED_STATE」という許可がありますが、機能しません。サードパーティのアプリケーションはこの許可を取得できません
4-ランチャーが再起動されたときにのみアイコンが消えるため、次回の電話の再起動時にランチャーを強制的に再起動することはお勧めしません
このように、アプリは少なくとも時間通りに実行する必要があります。
参照:
ええ、この種のアプリケーションは可能です。マニフェスト ファイルにランチャー アクティビティがないアプリケーションを作成する必要があります。
例: - 受信した起動時にブロードキャストを登録できます。そのため、デバイスが起動すると、UI がなくてもアプリケーションが呼び出されます。これをチェックアウトできます。
NOTE
- このタイプのアプリケーションは、3.1 未満でのみ動作します。