我试图在设备启动后从Receiver启动一个活动:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
context.startActivity(intent);
当我从我的活动中调用它时,此代码工作正常但是当我的BroadcastReceiver在启动后执行它时它失败了。我的Logcat显示:
ActivityNotFoundException: Have you declared the activity in your AndroidManifest.xml?
任何指针都将非常感激。提前谢谢。
答案 0 :(得分:1)
Intent intent = new Intent(context,activity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(意向);
我认为这3行只需要,上下文将是你在广播接收器中收到的上下文。
答案 1 :(得分:0)
当您在清单中声明活动时,您可能拼写错误或犯了错误。确保你把它放在那里并拼写正确的一切
答案 2 :(得分:0)
我认为问题出现在以下行中。您的Activity的名称是什么?是“ActivityName”吗?还检查包名。
intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName"))