2016-12-08 14 views
0

私は、特定のことが発生した場合に呼び出されるアプリを作成しようとしています。私のアプリケーションでは、このことはSMSです..新しいSMS受信時に私はその内容を読んで、私は特定の内容を探しますアラームが表示されればそれが表示されます。BroadcastReceiver最近のAppsを閉じると機能しません

アプリが開かれている場合は正常に機能します。受信機が良いトリガ...しかし、私は最近のアプリの受信機をトリガーしないクリアするとき。私はここで多くを検索し、私たちのほとんどは、STOPPED_STATEのアプリが特定のことが起こったという通知を受け取っていないと言っています。

私はアンドロイドデバイスHauweiとアンドロイドバージョン4.4.4を持っています。最近のアプリケーションをクリアすると、アプリが完全に破壊されます。受信機は動作を停止しました。

私はサービスを作ってstart_stickyを返そうとしましたが、私にとってはバックグラウンドタスクではなくフォアグラウンドプロセスでのみ可能でした。しかし、あなたのデバイスでmyApplicationが動作しているという通知をプッシュしたくありません。

今私が望むのは、アプリケーションが閉じていてもSMS_RECEIVEDを受信する受信機が必要です(ここではAPPのSTOPPED_STATEについては言及していません)。

clearRecentAppsの後にmyAppがSTOPPED_STATEにあります(設定でmyAppsのFORCE_STOPボタンが無効になっています)。同時に、WATSAPP、FACEBOOK、CLASSOFCLANSはSTOPPED_STATEではありません(これらのFORCE_STOPボタンは有効になっています)。フォアグラウンド通知は一切ありません。私は間違って私に知らせていた場合

は、彼らがやってやる方法... ..私のために...私に

を日のこの撮影多くの人を助けてください。アプリが閉じている場合でも、あなたはサービスのに再びあなたのサービスを開始する必要がIAM新.. ..どれヘルプをいただければ幸いAndroidに

+0

はい、ここでサービスを利用する必要があります。 inServiceはonCreateを意味し、受信者を登録し、onDestroy of Serviceはそれを登録解除します。 STICKYリターンのstartService。 – Vinodh

+0

私はそれを試みましたが、それは動作しません....私は最近のアプリケーションをクリアする場合私のアプリサービスは働いていない...私はそれが動作を停止したことを知らない –

+0

あなたは受信機を登録している場所でコードを共有できますか?プログラム的にまたは明示的に? – rafa

答えて

0

これがかもしれ仕事をまわりますが実行しているサービスを維持するためにonDestroy()メソッド。

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    startService(new Intent(this, YourServiceClass.class)); 

} 
+0

私はそれを試してみました..しかし、onDestroyメソッドは呼ばれていません –

関連する問題