Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android BroadcastReceiver未显示onReceive的任何日志_Android_Android Intent_Broadcastreceiver_Android Service_Localbroadcastmanager - Fatal编程技术网

Android BroadcastReceiver未显示onReceive的任何日志

Android BroadcastReceiver未显示onReceive的任何日志,android,android-intent,broadcastreceiver,android-service,localbroadcastmanager,Android,Android Intent,Broadcastreceiver,Android Service,Localbroadcastmanager,我的服务有功能 broadcaster = LocalBroadcastManager.getInstance(this); public void sendResult(String message) { Log.d("Service", "sendResult "+message); Intent intent = new Intent(); intent.setAction("com.myandroid.app.messagechanged"); if(me

我的服务有功能

broadcaster = LocalBroadcastManager.getInstance(this);
public void sendResult(String message) {
    Log.d("Service", "sendResult "+message);
    Intent intent = new Intent();
    intent.setAction("com.myandroid.app.messagechanged");
    if(message != null)
        intent.putExtra("message", message);
        broadcaster.sendBroadcast(intent);
    }
main活动

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MainActivity", "Receiving Broadcast");
        Message = intent.getStringExtra("message");
        Log.d("MainActivity", "Received : "+Message);
        tvMessage.setText(Message);                       
    }
};
<receiver android:name="com.myandroid.app.receiver" >
   <intent-filter>
      <action android:name="com.myandroid.app.messagechanged" />
   </intent-filter>
</receiver>
清单

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MainActivity", "Receiving Broadcast");
        Message = intent.getStringExtra("message");
        Log.d("MainActivity", "Received : "+Message);
        tvMessage.setText(Message);                       
    }
};
<receiver android:name="com.myandroid.app.receiver" >
   <intent-filter>
      <action android:name="com.myandroid.app.messagechanged" />
   </intent-filter>
</receiver>
仅显示有关这些功能的日志。在接收时不显示任何来自
onReceive
的日志

我的包名是
com.myandroid.app

服务名称为AppService


活动名称为
main活动

您是否注册了广播接收器

您可以通过编程来完成

IntentFilter filter = new IntentFilter("SOME_ACTION");
filter.addCategory("SOME_CATEGORY");
registerReceiver(YOUR_BROADCAST, filter);
或者在舱单上

<receiver android:name="YOUR_BROADCAST_CLASS" >
    <intent-filter>
        <action android:name="SOME_ACTION" />
        <action android:name="SOME_CATEGORY" />
    </intent-filter>
</receiver>


我已添加到清单文件中。还是没有变化。未显示接收登录已更改,并且我的清单、mainactivity和服务在编辑我的帖子时更新。请验证并告知是否有任何错误。您将“manifest”注册的接收方类与动态声明和注册的接收方混淆@布鲁诺的回答显示了如何在代码\中注册接收器。您可以在这里找到有关我对类似问题的答案的更多信息-此解决方案可能会帮助您: