我想在广播onReceive()方法中启动系统应用程序活动,但无法运行。我需要帮助! 我的Manifest.xml
<receiver android:name=".BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
我的java:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent b_intent = new Intent();
b_intent.setComponent(new ComponentName("com.android.email", "com.android.email.activity.Welcome"));
b_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(b_intent);
}
}
但是这个电子邮件应用程序无法运行。屏幕上只有黑色。 谢谢!
答案 0 :(得分:0)
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent()
i.setClassName("com.android.email", "com.android.email.activity.Welcome");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i); }
答案 1 :(得分:0)
应用应用程序启动系统或第三方应用程序应通过隐式意图完成。硬编码软件包名称和组件名称不可靠,可能无法一直运行。
另外,我猜这个特殊活动不允许从其他应用程序中调用(我的假设,我可能错了)