如何在 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);
}
我正在尝试在收到推送通知时打开应用程序。
代码:
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);
}