2017-07-19 45 views
0

我有一個通過Mqtt客戶端從服務器訂閱的服務。當到達消息我做廣播消息和主題。在我的片段,我宣佈一個廣播接收機是這樣的:傳遞一個整數給廣播接收器

private final BroadcastReceiver mChatReceiver = new BroadcastReceiver() { 
    int areaCode; 

    private BroadcastReceiver init(int areaCode) { 
     Log.i("====>", "init: BroadcastReceiver "); 
     this.areaCode = areaCode; 
     return this; 
    } 


    @Override 
    public void onReceive(Context context, Intent intent) { 

     Log.i("====>", "onReceive: BroadcastReceiver "); 
     //do sth 

    } 
}.init(areaCode); 

init(areaCode)不工作,在原來的AREACODE例如是2,但我沒有得到private BroadcastReceiver init(int areaCode) 2。我得到了0.

我該如何將一個整數從private final BroadcastReceiver mChatReceiver類傳遞給這個類?

回答

1

說你是註冊了一些自定義IntentFilter這樣的:

IntentFilter filter = new IntentFilter("com.packageName.ACTION_SEND_INTEGER"); 

登記接收這樣的:

your_context.registerReceiver(mChatReceiver,filter); 

觸發你的廣播接收器像這樣和發送一個整數:

Intent intent = new Intent("com.packageName.ACTION_SEND_INTEGER"); 
     intent.putExtra("your_value",123); 
     sendBroadcast(intent); 
+0

我從我的服務中發送廣播,在我通過putExta發送它之前,我無法訪問我的數據。我的整數是動態的 –

+0

@sayreskabir對不起,我沒有得到您的評論。請您再說一遍嗎? –

相關問題