Articles of android notifications

如何在点击后正确清除所有通知?

我在通知栏上发送了一些通知,我希望在点击其中一个通知时清除所有通知。 现在我使用Flag逐个清除。 我知道notificationManager.cancelAll()可以清除所有通知但我应该放在哪里,这样我可以在点击一个通知后触发。 private static void generateNotification(Context context, String message) { 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 notificationIntent = new Intent(context, MainActivity.class); // set intent so it does not start a new activity notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); […]

创建自定义大通知

我想创建一个包含一些控件的通知。 由于文本和控件很小,默认通知大小(64dp),我希望它大于默认大小。 可以创建更大的通知,我认为也可以有自定义布局,但我不知道如何。 更具体地说,以下屏幕截图显示了spotify的通知(图片取自此处 ): 如您所见,尺寸大于默认值。 此外,它有一些没有文本的ImageButtons – 如果你使用Notification.Builder.addAction() ,你可以提供一个图标,但也需要提供一个CharSequence作为描述 – 如果你把描述留空,仍然会有空间为文本保留,如果传递null ,它将崩溃。 任何人都可以告诉我如何使用自定义布局创建大型通知吗? 谢谢

Android N:如何在分屏时单击通知时在当前活动窗口而不是第二个窗口中启动活动?

在Android N使用分屏时,我想在用户点击通知时在当前活动窗口中启动activity ,但是如果通过单击通知启动,则Android N始终在第二个窗口中启动activity 。 NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.notification) .setAutoCancel(false) .setContentTitle(“Demo Title”) .setContentText(“Demo”); Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.putExtra(“myIntent”, “test”); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(pendingIntent); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = mBuilder.build(); notification.flags = Notification.FLAG_NO_CLEAR; mNotificationManager.notify(156, notification); 获得intent不是发布activity 。 Intent in = new Intent(MainActivity.this, […]

Jelly Bean中的自定义可扩展通知(4.1)

Jelly Bean添加了对可扩展状态通知的支持。 根据http://developer.android.com/about/versions/jelly-bean.html : 除了模板化样式,您还可以使用任何远程视图创建自己的通知样式。 怎么办? 我相信你需要创建一个自定义的Notification.Style 。 这是一个抽象类,所以我需要扩展它。 我无法find有关哪些部分需要扩展的文档。 这个问题提供了一个很好的例子,说明了如何使用notificaiton.builder进行基本通知,我将此作为起点。 添加 .setContent(new RemoteViews(getPackageName(), R.layout.notification)) 为基本通知添加自定义视图,但它不可扩展。

从FCM onMessageReceived方法获取RemoteMessage的值

我已将gcm to fcm迁移gcm to fcm以获取推送通知消息。 但我如何从RemoteMessage获取捆绑数据收到onMesssageReceived方法。 Old GCM give bundle data onMessageReceiced method but in FCM there is RemoteMessage data. 所以请告诉我如何解析remotemessage获取所有通知值。 我的PAYROL { “collapse_key”:”score_update”, “priority”:”high”, “content_available”:true, “time_to_live”:108, “delay_while_idle”:true, “data”: { “message”: “Message for new task”, “time”: “6/27/2016 5:24:28 PM” }, “notification”: { “sound”: “simpleSound.wav”, “badge”: “6”, “title”: “Test app”, “icon”: “myicon”, “body”: “hello 6 app”, […]

奥利奥 – 前景服务不显示前景通知

到目前为止,我已经调整了我的代码以使用ContextCompat.startForegroundService(context, intentService); 开始我的服务。 这样,它适用于android <26和android 26(Oreo)。 我仍然看到一个区别,在android oreo我没有看到我的自定义前景通知(我只看到“应用程序在后台运行”通知)。 我还需要调整任何东西吗? 我的服务看起来像这样: public class BaseOverlayService extends Service { @Override public void onCreate() { super.onCreate(); moveToForeground(); } private void moveToForeground() { Notification notification = …; super.startForeground(NOTIFICATION_ID, notification); } } 官方的例子 此示例( https://github.com/googlesamples/android-play-location/blob/master/LocationUpdatesForegroundService/app/src/main/java/com/google/android/gms/location/sample/locationupdatesforegroundservice/LocationUpdatesService.java #L200 )显示为注释,我应该使用以下,但startServiceInForeground不存在… if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O) { NotificationManager mNotificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); mNotificationManager.startServiceInForeground(new Intent(this, BaseOverlayService.class), NOTIFICATION_ID, […]

如何在android中创建多个状态栏通知

我需要创建多个状态栏通知。 当我下拉状态栏时,应该将多个通知图标显示为列表。 每个通知图标都应显示下一页显示的单独数据。我该怎么做? 我的代码: public class SimpleNotification extends Activity { private NotificationManager mNotificationManager; private int SIMPLE_NOTFICATION_ID; String str=”Hai”; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); final Notification notifyDetails = new Notification(R.drawable.android,”New Alert, Click Me!”,System.currentTimeMillis()); Button start = (Button)findViewById(R.id.notifyButton); Button cancel = (Button)findViewById(R.id.cancelButton); […]

无法展开RemoteView

我尝试创建自定义通知但获得以下exception: FATAL EXCEPTION: main android.app.RemoteServiceException: Bad notification posted from package com.my.app: Couldn’t expand RemoteViews for: StatusBarNotification(pkg=com.my.app user=UserHandle{0} id=1 tag=null score=0: Notification(pri=0 contentView=com.my.app/0x7f03001b vibrate=null sound=null defaults=0x0 flags=0x2 kind=[null])) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1423) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) 我的代码如下所示: Intent intent = new Intent(this, MyFragmentActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP […]

在Android 8.1 API 27上,通知不会显示

我在Android 8.1 API 27上获得了Toast: 程序包“my_package_name”的开发人员警告 无法在…上发布通知 Logcat包含下一个字符串: 通知:对于卷控制以外的操作,不推荐使用流types W / Notification:请参阅setSound()的文档,了解如何使用android.media.AudioAttributes来限定播放用例 E / NotificationService:找不到pkg = my_package_name的频道 Toast和Logcat中的完整信息可以帮助解决此问题。

当应用未运行时,Android通知未显示其内容

这是我有趣的问题。 当应用未运行时,来自GCM的Android通知未显示标题和内容( 仅显示应用名称,并在单击时打开MainActivity)。 但是当应用程序打开时,它会成功显示标题和内容。 可能是什么问题? 它运行没有问题,我没有改变任何东西。 表现: GcmService.java: import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.text.TextUtils; import android.util.Log; import com.google.android.gms.gcm.GcmListenerService; import com.package.xxx.Activity.ReadNormal; import com.package.xxx.R; public class GcmService extends GcmListenerService { public GcmService() { } @Override public void onMessageReceived(String from, Bundle data) { Log.d(“GCMService”, data.toString()); String type = data.getString(“type”, “”); […]