2015-07-13 69 views
5

主旋律後,即使單擊通知後,刪除的Android棒棒糖通知是發送通知,使用PushNotification可在店內的新的提議使用谷歌雲消息甚至無法使用我的應用程序的AUTOCANCEL

private void sendNotification(Context context, String message) { 

SharedPreferences mPrefs = getSharedPreferences("MYAPP", Context.MODE_PRIVATE); 

int uniqueNumber = this.getSharedPreferences("MYAPP", Context.MODE_PRIVATE).getInt("uniqueNumber", 0); 
    Log.d("GCM: GN", "Message: " + message); 

    uniqueNumber = ++uniqueNumber; 
    int icon = R.drawable.ic_launcher; 

    long when = System.currentTimeMillis(); 

    NotificationManager notificationManager = (NotificationManager) 
      context.getSystemService(Context.NOTIFICATION_SERVICE); 

    Notification notification = new Notification(icon, message, when); 

    String title = context.getString(R.string.app_name); 

    Intent intent = new Intent(GCMIntentService.this,OpenActivity.class); 
    intent.putExtra(OpenActivity.EXTRA_KEY, "navigate"); 
    intent.putExtra(OpenActivity.GET_NOTIFY_ID_EXTRA, uniqueNumber); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
    notification.setLatestEventInfo(context, title, message, pendingIntent); 
    notification.flags |= Notification.DEFAULT_LIGHTS|Notification.FLAG_AUTO_CANCEL ; 

    notification.defaults |= Notification.DEFAULT_SOUND; 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 
    notificationManager.notify(uniqueNumber, notification); 

    SharedPreferences.Editor prefsEditor = mPrefs.edit(); 
    prefsEditor.putInt("uniqueNumber", uniqueNumber); 
    prefsEditor.commit(); 

} 
用戶

夥計們,這段代碼不適用於棒棒糖。

任何幫助讚賞...

+0

是否有原因,您沒有使用支持庫的[NotificationCompat.Builder](http://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html)甚至[Notification .Builder](http://developer.android.com/reference/android/app/Notification.Builder.html)?您使用的代碼已過時4年。 – ianhanniballake

+0

沒有特別的原因。我以前使用過Notification.Builder,但我得到了同樣的問題。 – saikiran

+0

與我的應用程序中的NotificationCompat.Builder相同的問題。 – saikiran

回答

0

試試這個。它對我來說工作正常,就像我已經實施到我的項目一樣。

notification.flags = Notification.FLAG_INSISTENT | Notification.FLAG_AUTO_CANCEL; 

如果工作不正常,請使用下面的代碼清除您的意圖任務。

Intent notificationIntent; 
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); 
+0

感謝您的貢獻,但它不工作... – saikiran

+0

嘿,因爲你說意圖旗幟,它的工作正常。 –

+0

嘿,即使使用該標誌後,該問題也沒有解決...... – saikiran

0

請添加此代碼並將其添加到您的代碼中。

NOTIFICATION_COUNT = 10;

private void generateNotification(final String message, final String title, final String userType, final String userId) { 

     Log.e("message:", message); 
     int icon = R.drawable.ic_launcher; 
     long when = System.currentTimeMillis(); 
     NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     Intent notificationIntent; 

     notificationIntent = new Intent(context, GroupMessagesActivity.class); 

     notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); 
     PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

     Notification notification = new Notification(icon, message, when); 
     notification.setLatestEventInfo(context, title, message, intent); 
     notification.flags |= Notification.FLAG_SHOW_LIGHTS; 
     notification.flags |= Notification.DEFAULT_LIGHTS; 
     notification.flags = Notification.FLAG_INSISTENT | Notification.FLAG_AUTO_CANCEL; 

     Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
     long[] pattern = { 0, 100, 1500 }; 
     v.vibrate(pattern, -1); 
     notificationManager.notify(NOTIFICATION_COUNT, notification); 
     NOTIFICATION_COUNT = 1 + NOTIFICATION_COUNT; 
    } 
+0

只需全局定義NOTOFICATION_COUNT = 10即可。 –

+0

這也不起作用 – tiru

+0

此代碼也不能正常工作.. – saikiran

0
notification.flags |= Notification.FLAG_AUTO_CANCEL; 

請試試這個。

+0

我也使用過這些通知標誌也.. 我有問題的待定意圖... – saikiran

+0

這工作正常在我的聯繫。 –

0

請嘗試更改您的活動主題。如果您使用自己的自定義主題,請嘗試將其替換爲由android提供的主題。

相關問題