2015-04-26 91 views
0

我试图在特定的时间使用AlarmManager和通知管理器触发通知。我面临一个奇怪的问题。当通知被触发时,只有声音播放,但通知抽屉中未显示通知。 我在日志中得到一个错误android通知只声音播放通知不显示在通知抽屉里

04-26 11:32:09.217 1222-1222/? E/NotificationService﹕ WARNING: In a future release this will crash the app: com.example.shiv.selftweak 

我的代码。

它调用AlarmManager

 Intent intent1 = new Intent(this, FireNotification.class); 
     PendingIntent pendingIntent = PendingIntent.getService(this, 1000, intent1, 0); 
     AlarmManager am = (AlarmManager)this.getSystemService(ALARM_SERVICE); 
     am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(), pendingIntent); 

FireNotification类

public class FireNotification extends Service { 

    @Override 
    public void onCreate() { 
     Intent intent = new Intent(this, MainActivity.class); 
     long[] pattern = {0, 300, 0}; 
     PendingIntent pi = PendingIntent.getActivity(this, 1234, intent, 0); 
     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) 
       .setContentTitle("Self tweak") 
       .setContentText("Habbits are waiting for last dones") 
       .setVibrate(pattern) 
       .setAutoCancel(false); 

     mBuilder.setContentIntent(pi); 
     mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
     mBuilder.setAutoCancel(false); 
     NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE); 
     mNotificationManager.notify(1234, mBuilder.build()); 
    } 

@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 

}

的Android Menifest

<service android:name=".FireNotification"></service> 
     <intent-filter> 

      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 

时通知火灾仅SOU的类nd戏剧。但没有显示在没有通知的通知抽屉中。

回答

1

问题是你还没有指定mBuilder.setSmallIcon(R.drawable.ic_launcher)

基本上你必须设置smallIconcontentTitlecontentText。如果您错过了任何通知,则根本不会显示通知!这是明确指定的HERE(也可以阅读有关通知的更多信息)。

+0

是的,我也想出了相同的。谢谢。但android应该抛出异常 –