onActivityResult для PendingIntent - PullRequest
       8

onActivityResult для PendingIntent

4 голосов
/ 02 сентября 2011

Как получить результат действия, запущенного из NotificationManager?

Другими словами, мне нужно получить resultCode из PendingIntent.

public void test(Context context){
    Notification notification = new Notification(null, "text", System.currentTimeMillis());
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.example.com"));
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    notification.setLatestEventInfo(context, "text", "text", pendingIntent);
    notificationManager.notify(0, notification);
}

Я хочу получать уведомления, когда работа браузера заканчивается.

OBS: этот код находится вне действия, поэтому он получает контекст как параметр

Ответы [ 2 ]

3 голосов
/ 02 сентября 2011

Предположим, у вас есть активность A, которая устанавливает PendingIntent. Это PendingIntent вызывает активность B. Вы хотите получить результат B.

Вы можете сделать это, введя прокси-активность: A -> PendingIntent -> ProxyActivity -> startActivityForResult -> B. Таким образом, вы получите результат от B в вашу ProxyActivity активность.

Обратите внимание, что вы должны позвонить startActivityForResult() в ProxyActivity.onCreate().

1 голос
/ 01 февраля 2013

Давайте посмотрим просто, В Деятельности A:

intet.putStringExtra("from notification") ;

В Деятельности B:

if (getintent().getStringExtra("from notification") !=null ){
//TODO do what u want !
}
...