我正在尝试捕获BOOT_COMPLETED意图。在我的接收器中,我只是在Log上打印一些东西。在Logcat中我收到此错误,并且我放置的日志语句永远不会打印出来。我已在清单中设置了
的权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
并且还在我的接收器中声明了所需的意图过滤器。我做错了什么?
答案 0 :(得分:3)
我做错了什么?
鉴于您提供的信息有限,这是不可能回答的。您的<intent-filter>
可能是您的操作字符串错误。
Here is a sample project完全符合您的描述(启动时接收器向LogCat写入消息)。
答案 1 :(得分:2)
我也遇到了这个问题,找到了这个答案并通过使用CommonsWare的示例代码来解决它:
当您在onReceive()中调用setResultData(...)时,您将收到此错误 - BroadcastReceiver的方法并对无序广播作出反应。看起来启动广播是非订购的。另见:Developer docs
@Override
public void onReceive(Context context, Intent intent)
{
try
{
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
// setResultData(null);
}
catch (Exception exception)
{
exception.printStackTrace();
}
}