0

我尝试从新通知添加到数据库(我正在使用Firebase数据库)时更新的通知中启动活动。无法从使用Firebase的通知中启动特定活动

通知完美,但每当我试图从通知启动UserDashboardActivity。它不工作。

任何人都可以帮助我。

我的代码:

这里面服务

public class NotificationService extends Service { 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     notifyMe(order.amount); 
     return START_STICKY; 
    } 

    private void notifyMe(String amount){ 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.add_order) 
      .setContentTitle("New Order") 
      .setContentText("Order amount: " + amount) 
      .setAutoCancel(true); 

    Intent notificationIntent = new Intent(this,UserDashboardActivity.class); 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    PendingIntent contentIntent = PendingIntent.getActivity(this,0,notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT); 
    builder.setContentIntent(contentIntent); 

    NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
    manager.notify(0,builder.build()); 
    } 
} 

通知代码时UserDoashboardActivity停止

@Override 
protected void onStop() { 
    super.onStop(); 
    Intent intent = new Intent(UserDashboardActivity.this, NotificationService.class); 
    startService(intent); 
} 
+0

只是为了说清楚 - 如果您将UserDashboardActivity替换为任何其他活动,它是否有效? – SadClown

+0

是的...... –

+0

另外我开始从UserDashboardActivity的服务 –

回答

0

尝试在notifyMe这个代码()函数我开始服务。 ..

Intent intent = new Intent(this, YourActivityName.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 
      PendingIntent.FLAG_ONE_SHOT);