2

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

我已经测试过它从 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");
      }

   }

}
4

1 回答 1

1

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

于 2013-04-19T19:37:13.480 回答