如何在 Android 收到推送时自动打开应用程序而无需用户操作

How to automatically Open the app without user action on receiving a push on Android

我正在尝试在收到推送通知时打开应用程序。

代码:

public class GCMIntentService extends GCMBaseIntentService {

    public GCMIntentService() {
        super("GCMIntentService");
    }

    @Override
    protected void onMessage(Context context, Intent intent) {
        Intent dialogIntent = new Intent(this, MyActivity.class);
        dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(dialogIntent);    
    }
}

这就是我目前所拥有的。 但是我不知道 MyActivity.class 是什么。

假设我想启动应用程序,仅此而已。我不想向 AndroidManifest.xml 添加另一个 activity。

我不能简单地为 Cordova 使用 MainActivity.class 吗?

MyActivity.class 到底是什么?

它是 class,它实现了您希望启动的 activity。 LoginActivity,MainActivity,随便你怎么命名。

PackageManager.getLaunchIntentForPackage 可以帮助您找到条目 activity.

    Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(launchIntent);

public void getnotification(View view) {

       NotificationManager notificationmgr =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
       Intent intent = new Intent(this,resultpage.class);
       PendingIntent p = PendingIntent.getService(this,(int) System.currentTimeMillis(),intent,0);


       Notification n = null;
       if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
           n = new Builder(this)
                                .setSmallIcon(R.mipmap.ic_launcher)
                               .setContentTitle("Hello android user here")
                               .setContentText("welcome to notification serrvice")
                               .setContentIntent(p)
                               .build();

           notificationmgr.notify(0,n);

       }