0

申し訳ありませんがBroadcastReceiver、アクティビティのライフサイクルと s を混在させると、脳に多くのエラーや誤動作が発生します。頭が止まったので助けが必要です。私の質問は簡単です。

BroadcastReceiverアクティビティ進行メソッドを検出するクラスを持つ方法はありonPause()ますか? はいの場合、そのクラスはどのようになりますか?

4

2 に答える 2

1

私があなたの活動でそれを考えることができる唯一のことは、あなたの受信者の1人が意図するコスチュームブロードキャストを送信することです.

例えば:

アクション:

  public static final String CUSTOM_INTENT = "example.com.intent.action.ActivityGoingOnPause";

一時停止中のアクティビティ:

  protected void onPause() {
     Intent i = new Intent();
     i.setAction(CUSTOM_INTENT);
     context.sendBroadcast(i);
  }

マニフェスト:

    <receiver android:name=".YourReceiver" android:enabled="true">  
        <intent-filter>
            <action android:name="example.com.intent.action.ActivityGoingOnPause"></action>
        </intent-filter>
    </receiver>

レシーバー:

 public class YourReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(YourActivity.CUSTOM_INTENT)) {
          //do your thing
        }
     }
 }

お役に立てれば

于 2013-03-11T11:09:59.557 に答える
0

onPause に isActivityPaused のようなグローバル変数を設定し、アクティビティの onResume で設定を解除してから、その変数を確認して、ブロードキャストを送信するかどうかを決定します。

于 2013-03-11T11:08:56.030 に答える