2017-07-26 41 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

相關問題