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を起動するコードは、アプリケーションの他の部分で正常に機能します。
ブロードキャストから他のアプリケーションを起動することは可能ですか?
どうもありがとうございます。