2016-06-13 25 views
0

私が行う場合:sendOrderedBroadcast - どのスレッドがレスポンスレシーバを実行していますか?

sendOrderedBroadcast(intent, null, new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if(getResultCode() == Activity.RESULT_OK) { 
      Log.d("LoginActivity", "OK"); 
     } else { 
      Log.e("LoginActivity", "Fail!"); 
     } 
    } 
}, null, Activity.RESULT_CANCELED, null, null); 

たスレッド上onReceive()メソッドの実行がありますか?送信スレッドまたはUIスレッド?

+1

docs: 'scheduler' \t resultReceiverコールバックをスケジュールするためのカスタムハンドラ。 nullの場合は、コンテキストのメインスレッドでスケジュールされます – pskink

+0

これはUIスレッドの意味です – JohnyTex

+1

'Log.d'と' Thread.currentThread() 'を使ってください。 – pskink

答えて

0

OnReceiveは、Receiverが登録されているアプリケーションのUIスレッドで常に呼び出されます。

この場合、同じアプリケーションのUI /メインスレッドです。

関連する問題