簡體   English   中英

廣播之間兩種服務之間的通信

[英]communication between two services by Broadcasts

我嘗試使用廣播在兩個服務之間發送一些數據。 問題是:我的廣播接收器類未獲取數據(未從發送方獲取任何數據),我也不知道為什么。 我將不勝感激任何幫助。 謝謝。

接收器-

public class Background extends Service  {

@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    return super.onStartCommand(intent, flags, startId);
}

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String message = intent.getStringExtra(ActivityRecognizedService.LOCAL_BROADCAST_EXTRA);
        Log.e(TAG,message);
    }
}

發件人-

public class ActivityRecognizedService extends Service {

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    return super.onStartCommand(intent, flags, startId);
}

private void handleDetectedActivities(List<DetectedActivity> probableActivities) {

    Intent intent = new Intent(LOCAL_BROADCAST_NAME);
    intent.putExtra(LOCAL_BROADCAST_EXTRA, str.toString());
    //LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
    sendBroadcast(intent);
}

您需要在onStartCommand注冊接收器。 registerReceiver(new MyReceiver(),new IntentFilter(LOCAL_BROADCAST_NAME))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM