我正在尝试在我的应用中实现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");
}
}
}
答案 0 :(得分:1)
实际上我看到一个地方可能是一个原因。发送意图时,请指定包名com.example.appname
,但AndroidManifest.xml中指定了什么?如果您在intent中使用包名称,则此名称必须与接收应用程序的AndroidManifest.xml的包名称匹配。