我需要从 BroadcastReceiver 在我的设备中启动/打开一个已安装的 apk。
这是代码:
公共类 C2DMMessageReceiver 扩展 BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Message Receiver called");
if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
Log.w("C2DM", "Received message");
ComponentName toLaunch = new ComponentName("es.mypackage","es.mypackage.myapplication");
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(toLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
我的设备接收到广播但因意外问题而失败。
启动其他 apk 的代码在应用程序的其他部分工作正常。
是否可以从广播中启动其他应用程序?
非常感谢。