2017-07-26 25 views
-1

我不知道正确的术语是什么,但是当启动通知时,在“通知抽屉”(您从屏幕顶部拉出并看到来自您所有应用程序的大量通知列表),这是您的应用程序的通知。单击时发出通知抽屉履历应用程序

我想让我的应用程序在点击此通知时恢复。但是,我在通知生成器中看不到任何相关的方法。这仍然是可能的吗?

我的代码:

private void launchNotification(Context context) { 
    String notificationText = "Click to resume app!"; 

    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context); 
    notificationBuilder.setSmallIcon(R.drawable.notification_small_icon); 
    notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher)); 
    notificationBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); 
    notificationBuilder.setContentText(notificationText); 

    NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE); 
    notificationManager.notify(1, notificationBuilder.build()); 
} 

回答

0

试试这个......有通知你的意图可以打开应用到定向活动。

Intent notificationIntent = new Intent(context, YourActivity.class); 
    PendingIntent intent = PendingIntent.getActivity(context, 0, 
     notificationIntent, 0); 

     notificationBuilder.setContentIntent(intent); 
+0

这似乎并不完全正确用网我目前的代码生成器 – user8367195

+0

我已更新我的代码。你可以添加这个并打开任何活动。 –

+0

似乎无法正常工作...然后我再次从DialogFragment调用它而不是一个Activity,这可能是为什么吗? – user8367195

0

试试这个

 Intent intent = new Intent(getApplicationContext(), MainActivity.class); 
     PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

     NotificationCompat.Builder b = new NotificationCompat.Builder(getApplicationContext()); 

     b.setAutoCancel(true) 
       .setDefaults(Notification.DEFAULT_ALL) 
       .setWhen(System.currentTimeMillis()) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setTicker("Ticker") 
       .setContentTitle("title") 
       .setContentText("message") 
       .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND) 
       .setContentIntent(contentIntent) 
       .setContentInfo("Info"); 

     Random r = new Random(); 
     int randomNo = r.nextInt(100000000 + 1); 

     NotificationManager notificationManager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManager.notify(randomNo, b.build()); 
+0

不会出现不幸的是工作,点击不会做以外的任何其他关上抽屉 – user8367195

+0

更换getBaseContext()与getApplicationContext() –

+0

具有相同的效果 – user8367195

相关问题