Created
August 11, 2014 02:04
-
-
Save nein37/95bf82680b644a24f959 to your computer and use it in GitHub Desktop.
BroadcastReceiverの処理結果を受け取る方法 ref: http://qiita.com/nein37/items/b50022a5c44546064437
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BroadcastReceiver receiver = new MyBroadcastReceiver(); | |
IntentFilter intentFilter = new IntentFilter(); | |
intentFilter.addAction(MY_ACTION); | |
// 優先度を高めに設定 | |
intentFilter.setPriority(100); | |
registerReceiver(receiver, intentFilter); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onReceive(Context context, Intent intent) | |
{ | |
// onReceive処理 | |
// 前のBroadcastReceiverの判定を引き継ぐ | |
setResultCode(getResultCode()); | |
// Extrasに何か入れてみる | |
// 引数をtrueにするとnullの場合自動生成してくれる | |
Bundle extras = getResultExtras(true); | |
extras.putString("key", "value"); | |
setResultExtras(extras); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onReceive(Context context, Intent intent) | |
{ | |
// onReceive処理 | |
if(FAILED){ | |
// 失敗したのでこのReceiverで処理を終了したい | |
// RESULT_CANCELEDにするのが良いかも? | |
setResultCode(Activity.RESULT_CANCELED); | |
// これより優先順位が低いBroadcastReceiverは実行されない | |
abortBroadcast(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract void sendOrderedBroadcast (Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onReceive(Context context, Intent intent) | |
{ | |
// 処理結果 | |
getResultCode(); | |
getResultData(); | |
getResultExtras(false); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment