私はAndroidアプリで作業しています。通知バーにバッテリーに関する情報を投稿するだけです。アドバイスされたすべてのチュートリアルのように、このプロジェクトを開始しました。
- BroadcastReceiverを作成しました。それはUIのものを処理します。
- 次に、ACTION_BATTERY_CHANGED インテントのみをフィルタリングする IntentFilter を作成しました
- 次に、IntentFilter と BroadcastReceiver インスタンスをメイン アクティビティの registerReceiver() メソッドに登録するだけです。
アクティビティ(2つを登録したもの)が停止するまで、それは本当にうまく機能します。つまり、電話の戻るボタンを押すと、onStop() または onDestroy() メソッドが呼び出されると仮定します。
私の質問は、アクティビティが終了した後に BroadcastReceiver を実行し、アプリを「強制的に閉じる」ときにのみ受信を停止するにはどうすればよいですか?
アップデート:
さて、以前の回答から、私がする必要があるのは、Activity からではなく、マニフェスト ファイルから BroadcastReciever を開始することだと思います。これは私がやろうとしたことですが、単に受信を開始しません:
<receiver android:name="com.battery.indicator.BatteryReciever" android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" ></action>
</intent-filter>
</receiver>
name 属性は、Reciever クラスへの全体のパッケージ パスです。アクション名は、Eclipse のインテリセンスが見つけたものです。これらはすべて<application></application>
xml の一部です。
私は何を間違っていますか?