来自服务的Android通知不会打开活动

时间:2014-10-16 22:09:18

标签: android android-activity service notifications launch

更新了MyService @CommonsWare

我有一项服务,如果启动,将设置一个触发通知的警报。

此工作正常,如果服务停止,警报将被取消。

我正在尝试通知打开一个新的活动类但无法完成它

我的服务类如下:

   package com.example.andtip;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;


public class BReceiver extends BroadcastReceiver {
private static final int MY_NOTIFICATION_ID=1;
   NotificationManager notificationManager;
   Notification myNotification;   

public void onReceive(Context context, Intent intent) {

    Intent myIntent = new Intent(context, DoSomething.class);

    PendingIntent pi = PendingIntent.getBroadcast(context, 0,  new Intent("com.example.andtip"),0 );
    PendingIntent pi2 = PendingIntent.getActivity(context, 0,  myIntent,0 );

        myNotification=new NotificationCompat.Builder(context)
     .setContentTitle("This is a notification from the example alarm application.")
        .setContentText("Notification")      
        .setTicker("Notification!")
        .setWhen(System.currentTimeMillis())
     .setContentIntent(pi)
        .setDefaults(Notification.DEFAULT_SOUND)                
        .setAutoCancel(true)
        .setSmallIcon(R.drawable.ic_launcher)
     .build();

        notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
     notificationManager.notify(MY_NOTIFICATION_ID, myNotification);

      }
}

我应该如何将意图pi2链接到通知?

1 个答案:

答案 0 :(得分:2)

  

我正在尝试通知打开一个新的活动类但无法完成它

您正在使用getBroadcast()来创建PendingIntent。使用getActivity()创建启动活动的PendingIntent。确保您在Intent中放置的PendingIntent用于活动,并确保活动在清单中有条目。