Android notification not working

后端 未结 5 1747
无人共我
无人共我 2021-01-04 19:32

I\'ve been attempting to get a notification of a successful upload from an ASyncTask to work all day. I\'m not getting any errors from my current code but I can\'t get the

相关标签:
5条回答
  • 2021-01-04 19:56

    Try this:

    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    
    int icon = R.drawable.icon;        // icon from resources
    CharSequence tickerText = "Any thing";              // ticker-text
    long when = System.currentTimeMillis();         // notification   time
    Context context21 = getApplicationContext();      // application   Context
    CharSequence contentTitle = "Anything";  // expanded message title
    CharSequence contentText = (CharSequence)  extras.get("message");     // expanded message text
    
    Intent notificationIntent = new Intent(this, MainStart.class);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,   notificationIntent, 0);
    
    // the next two lines initialize the Notification, using the configurations above
    Notification notification = new Notification(icon, tickerText, when);
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    notification.defaults |= Notification.DEFAULT_LIGHTS;
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    /*  long[] vibrate = { 0, 100, 200, 300 };
    notification.vibrate = vibrate;
    notification.ledARGB = Color.RED;
    notification.ledOffMS = 300;
    notification.ledOnMS = 300;*/
    notification.setLatestEventInfo(context21, contentTitle, contentText, contentIntent);
    mNotificationManager.notify(Constants.NOTIFICATION_ID, notification);
    
    0 讨论(0)
  • 2021-01-04 20:06

    I have created the class to show notifications:

    public class NotificationData {
    
        public static NotificationManager mNotificationManager;
        public static int SIMPLE_NOTFICATION_ID;
        private Context _context;
    
        public NotificationData(Context context) {
            _context = context;
        }
    
        public void clearNotification() {
            mNotificationManager.cancel(SIMPLE_NOTFICATION_ID);
        }
    
        public void SetNotification(int drawable, String msg, String action_string, Class cls) {
            mNotificationManager = (NotificationManager) _context.getSystemService(Context.NOTIFICATION_SERVICE);
            final Notification notifyDetails = new Notification(drawable, "Post Timer", System.currentTimeMillis());
            long[] vibrate = { 100, 100, 200, 300 };
            notifyDetails.vibrate = vibrate;
            notifyDetails.ledARGB = 0xff00ff00;
            notifyDetails.ledOnMS = 300;
            notifyDetails.ledOffMS = 1000;
         // notifyDetails.number=4;
            notifyDetails.defaults =Notification.DEFAULT_ALL;
            Context context = _context;
            CharSequence contentTitle = msg;
            CharSequence contentText = action_string;      
            Intent notifyIntent = new Intent(context,  cls);
         // Bundle bundle = new Bundle();
         // bundle.putBoolean(AppConfig.IS_NOTIFICATION, true);
            notifyIntent.putExtras(bundle);
            PendingIntent intent = PendingIntent.getActivity(_context, 0,notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
            notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent);
            mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);        
        }
    }
    

    How to use this class:

    NotificationData notification; //create object
    notification = new NotificationData(this);
    notification.SetNotification(R.drawable.notification, "Notification Title", "Click to open", YourClassName.class);
    

    Add permission android.permission.VIBRATE

    0 讨论(0)
  • 2021-01-04 20:12

    Even though your problem is solved, I'll just post how I solved my problem that the notification was not showing, perhaps it might help other people reading the answers:

    In my notification building I was missing the icon. As soon as I added something like setSmallIcon(R.drawable.ic_launcher) the notification was shown.

    0 讨论(0)
  • 2021-01-04 20:13

    Another thing to try is to make sure your manifest contains

    <permission android:name="android.permission.STATUS_BAR_SERVICE" android:protectionLevel="signature" />
    

    Also mine seemed to ignore successive notifications with the same NOTIFICATION_ID.

    0 讨论(0)
  • 2021-01-04 20:16

    For me this kept happening and I had no idea why but the problem was that the icon I set was too large so it was giving me some random error.

    0 讨论(0)
提交回复
热议问题