0

Я хочу открыть другое действие, когда пользователь открывает приложение, нажав на Push-уведомление.Android GCM открытое приложение с данными

Этот вид деятельности должен быть сверху. Таким образом, когда пользователь нажимает на уведомление стек должен быть:

активность А -> Деятельность Б.

Теперь я думаю, что их 2 ситуации:

  • приложение уже работает (так главный деятельность уже представлена)
  • Приложение не работает. (основная деятельность не представлена)

Поэтому мой вопрос: как открыть приложение, отображающее новую активность, с основным видом деятельности в его стеке.

Код ниже работает только в том случае, когда приложение уже запущено (поэтому основное действие уже находится в стеке).

Intent notificationIntent = new Intent(this, ExtraActivity.class); 
    notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
    notificationIntent.setAction(Intent.ACTION_MAIN); 

    PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, notificationIntent, 0); 

    String appName = getResources().getString(R.string.app_name); 
    int icon = R.drawable.ic_launcher; 

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
    .setSmallIcon(icon) 
    .setContentTitle(appName) 
    .setStyle(new NotificationCompat.BigTextStyle() 
    .bigText(message)) 
    .setContentText(message); 

    mBuilder.setContentIntent(pendingIntent); 

    mNotificationManager.notify(uniqueId, mBuilder.build()); 

ответ

0

Попробуйте

Intent intent; 
manager = getPackageManager(); 
try { 
    intent = manager.getLaunchIntentForPackage(getApplicationContext().getPackageName()); 
    if (intent == null) 
    throw new PackageManager.NameNotFoundException(); 
    intent.addCategory(Intent.CATEGORY_LAUNCHER); 
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    finish(); 
    startActivity(intent); 
} 
catch (Exception e) { 
} 
Смежные вопросы