BroadcastReceiver不会对外部意图做出反应

时间:2013-04-19 14:34:27

标签: android android-intent broadcastreceiver

我正在尝试在我的应用中实现Tasker支持。我已经在Manifest文件中声明了intent-filter并编写了Receiver,但它不起作用(没有记录任何内容,我的应用程序对这些意图没有反应)。

我已经测试了它从tasker发送意图,如下所示:

ACTION: START_SERVICE

package: com.example.appname

清单声明:

<receiver android:name="ExIntentReceiver">  
  <intent-filter>
    <action android:name="com.example.appname.START_SERVICE" />
    <action android:name="com.example.appname.STOP_SERVICE" />
  </intent-filter>
</receiver>

接收器:

Public class ExtIntentReceiver extends BroadcastReceiver {


 @Override
   public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
  if(action.equals("com.example.appname.START_SERVICE"))    {
        Log.v("service", "is started");
      } else if(action.equals("com.example.appname.STOP_SERVICE"))  {
          Log.v("service", "is stopped");
      }

   }

}

1 个答案:

答案 0 :(得分:1)

实际上我看到一个地方可能是一个原因。发送意图时,请指定包名com.example.appname,但AndroidManifest.xml中指定了什么?如果您在intent中使用包名称,则此名称必须与接收应用程序的AndroidManifest.xml的包名称匹配。