Я создал два приложения.
Одно приложение является получателем сообщений ( app1 ), а другое приложение ( app2 ) предназначено для выполнения других задач на основе сообщения.
Первое приложение (app1) получает сообщение, создает уведомление и отображается вверху.
Когда пользователь щелкает уведомление, оно вызывает другое приложение (app2) для выполнения других задач на основе сообщения.
Если приложение (app2) не запущено, его следует запустить. Если он уже запущен, необходимо отобразить экземпляр и выполнить задачи.
Я использую следующий код:
protected void displayNotification() {
Notification notification = new Notification(icon, tickerText, when);
Bundle xtra = new Bundle();
Intent ntent = new Intent(Intent.ACTION_SEND);
ntent.setClassName("com.example.mytestapp",
"com.example.mytestapp.MainActivity");
xtra.putString("id", "8610B0DD");
xtra.putParcelable("message", msg);
ntent.putExtras(xtra);
ntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
ntent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, contentTitle, contentText,
pendingIntent);
final int button_Click = 1;
nm.notify(button_Click, notification);
}
Это отлично работает, но создает несколько экземпляров другого приложения (app2).
Есть ли способ предотвратить создание нескольких копий?