我正在尝试从 BroadcastReceiver 内部启动主要活动。
我不想提供活动类名称,而是使用 android 的操作和类别来找出主要活动。
这似乎不起作用。
发送代码:
Intent startIntent = new Intent();
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startIntent.setAction(Intent.ACTION_MAIN);
startIntent.setPackage(context.getPackageName());
startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
context.startActivity(startIntent);
我收到此错误:
导致 bt: android.content.ActivityNotFoundException: 找不到处理 Intent { 的 Activity
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
flg=0x10000000 pkg=com.xyz.abc(有额外内容)}
有任何想法吗?
复制另一个主题:
从 API 级别 3 (Android 1.5) 开始,此功能有效:
private void startMainActivity(Context context) throws NameNotFoundException {
PackageManager pm = context.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(context.getPackageName());
context.startActivity(intent);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)