1

アプリケーションを終了すると、BroadcastReceiver が表示されないようにしようとしています。今までは、アプリがインストールされたときにトーストを表示するだけでした。アプリを終了しても受信機がまだアクティブであることを除いて、それは非常にうまく機能します。これは、AndroidManifest からの私のレシーバー コードです。

<receiver android:name=".MyBrowdcastreceiver" android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.PACKAGE_INSTALL" />
            <data android:scheme="package" />
        </intent-filter>
    </receiver>

レシーバーを停止させるメイン アクティビティの onDestroy() または onStop() メソッドに何を入れるべきか知りたいです。

ありがとう。

4

1 に答える 1

2

アプリが実行されていない場合でも通知を受け取るマニフェスト ファイルに受信者を登録しました。必要性を満たすために、次の 2 つのことを行うことができます。

  1. プログラムでレシーバーを登録、登録解除する必要があります。

  2. アプリが実行されている場合はtrueに設定するブール値を取ることができます。それ以外の場合はfalseです。このブール値を BraodcastReceiver の onReceive() メソッドで使用して、ブール値をチェックし、ブール値が true の場合にアクションを実行する必要があります。

于 2011-09-13T07:36:22.570 に答える