web-dev-qa-db-ja.com

oppo-coloros、vivo-funtouch os、Xiomi-MIUI osなどのカスタマイズされたOSで新しく起動されたデバイスで強制終了するバックグラウンドサービス/アラームを保護する方法

私はWakefulBroadcastReceiverIntentServiceを持っています。30分ごとにアラームが呼び出され、何かをしています。私はすでにsetExactAndAllowWhileIdle()メソッドでdozeモードを処理しています。

最近カスタマイズされたosを搭載したいくつかの新しいスマートフォンは、Android osに基づく独自のカスタマイズされたosを持っています。カラーosを使用するoppo、funtouch osを使用するvivo、MIUI osを使用するxiomiのようです。OSでメモリをクリアする機能があります。たとえば、ユーザーが最近のアプリリストをクリアしたり、アプリを最近のアプリリストから削除したりすると、すべてのアラームとともにすべてのバックグラウンドサービスが強制終了されます。

これらの新しいOSを使用するには?

15
himCream

[〜#〜] miui [〜#〜]電話の場合、POWER SAVING MODEをオフにする必要があります。そうすると、アプリをバックグラウンドで実行できます。

手順設定-> バッテリー-> アプリのバッテリー使用量の管理->に移動しますオフまたはアプリを選択

プログラムで

 Intent intent = new Intent();
 intent.setClassName("com.miui.powerkeeper",
        "com.miui.powerkeeper.ui.HiddenAppsContainerManagementActivity");
 startActivity(intent);

Oppoデバイスの場合、次の手順に従います。

  1. 設定-> バッテリー-> アプリ-> 両方のオプションを許可しない

プログラムで

Intent intent = new Intent();
intent.setClassName("com.coloros.oppoguardelf",
       "com.coloros.powermanager.fuelgaue.PowerConsumptionActivity");
startActivity(intent);
  1. セキュリティ-> プライバシー許可-> スタートアップマネージャー-> アプリを許可

プログラムで

Intent intent = new Intent();
intent.setClassName("com.coloros.safecenter",  
       "com.coloros.safecenter.permission.startup.StartupAppListActivity");
startActivity(intent);
  1. Lockアプリを最近のアプリのタブにドラッグします。

これは私にとってうまくいきました、これもあなたのためにうまくいくことを願っています:)

17
Shaifali Rajput

最近のアプリリストからアプリが削除されたためにアプリが強制終了された場合は、Android.app.Service.onTaskRemoved()をオーバーライドして、アプリの再起動などをスケジュールできます。

ユーザーがアプリを強制終了するために明示的にアクションを実行する他のすべての場合(たとえば、設定から「強制停止」を行うなど)---そのようにします。これを回避しようとしないでください。ユーザーがアプリを強制終了したいと考えています。死なせて、次にユーザーがアプリを再び起動したときに機能を復元します。

4
Tim Castelijns