通知:索尼设备不显示任何通知

Posted

技术标签:

【中文标题】通知:索尼设备不显示任何通知【英文标题】:Notification: Sony devices do not show any notification 【发布时间】:2013-05-01 08:25:50 【问题描述】:

我使用这些代码行在我的应用程序中显示通知,但索尼设备(xperia p、sola、acro s)不显示任何通知。我对其他安卓设备没有任何问题。

Intent notificationIntent = new Intent(context, ActivityShowQuestion.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent contentIntent = PendingIntent.getActivity(context,
            Integer.parseInt(id), notificationIntent,
            PendingIntent.FLAG_ONE_SHOT);

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

    Notification.Builder builder = new Notification.Builder(context);

    builder.setContentIntent(contentIntent)
            .setSmallIcon(R.drawable.ic_launcher)
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)
            .setContentTitle("title")
            .setContentText("text");
    Notification n = builder.build();

    nm.notify(id, n);

我搜索了它,但找不到任何答案。

【问题讨论】:

我有第一个 experia 并且我收到了我正在使用的代码的通知,它有点不同,希望我发布 是的,如果可以的话,谢谢 【参考方案1】:

这是我从广播中收到的 onRecieve,它在 xperia 上发出通知,我没有遇到任何设备问题,如果它适合你,你可以把它切碎

@Override
    public void onReceive(Context arg0, Intent arg1) 
        String key = LocationManager.KEY_PROXIMITY_ENTERING;

        Boolean entering = arg1.getBooleanExtra(key, false);
        String here = arg1.getExtras().getString("alert");
        String happy = arg1.getExtras().getString("type");



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

                PendingIntent pendingIntent = PendingIntent.getActivity(arg0, 0, arg1, 0);        

                Notification notification = createNotification();

                notification.setLatestEventInfo(arg0, 
                    "Entering Proximity!", "You are approaching a " + here + " marker.", pendingIntent);

                notificationManager.notify(NOTIFICATION_ID, notification);


            

            private Notification createNotification() 
                Notification notification = new Notification();

                notification.icon = R.drawable.icon;
                notification.when = System.currentTimeMillis();

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

                notification.defaults |= Notification.DEFAULT_VIBRATE;
                notification.defaults |= Notification.DEFAULT_LIGHTS;

                notification.ledARGB = Color.WHITE;
                notification.ledOnMS = 1500;
                notification.ledOffMS = 1500;


                return notification;
            
        //make actions




它不使用 Builder idk 究竟是什么导致了你的问题,我知道这在 xperia 上有效

【讨论】:

谢谢您,我正在测试您的代码,但有一个问题,您是否在 android 2.2 上测试此代码?另一件事是不推荐使用 setLatestEventInfo() 方法。 是的,我设置的 minsdk 是 8 并且 setLatestEventInfo() 说它已经折旧,我现在在市场上有它,它应该仍然可以使用 折旧的方法仍然有效吗? 我真的不确定,如果你发现了,请贴出来,我想跟上自己的步伐,谢谢

以上是关于通知:索尼设备不显示任何通知的主要内容,如果未能解决你的问题,请参考以下文章

解析 Android Push 不显示通知

收到推送通知时不显示横幅仅振动设备

Xamarin Forms iOS 远程通知不显示

通知发出声音但不显示任何内容

使用 Firebase 或任何其他方式在 Android 设备上显示通知

通知未显示在 Android 设备上。 (Azure 通知中心)