gpt4 book ai didi

android - GcmListenerService 在后台运行时不同

转载 作者:行者123 更新时间:2023-11-30 01:30:13 26 4
gpt4 key购买 nike

我已经按照本教程创建了一个新的 GCM 监听器服务: http://www.appifiedtech.net/2015/08/01/android-gcm-push-notification-example/

监听服务的代码:

@Override
public void onMessageReceived(String from, Bundle data) {
super.onMessageReceived(from, data);
String msg = data.getString("message");
Log.d(TAG,"GCM Message received is "+msg);
// Notifying to user code goes here
notifyUser(getApplicationContext(),msg);
}

public void notifyUser(Context context,String data){
Intent intent = new Intent(context, NotificationActivity.class);
intent.putExtra("data", data);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setAutoCancel(true);
builder.setContentTitle("New Notification");
builder.setContentIntent(pendingIntent);
builder.setContentText(data);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setSound(uri);
notificationManager.notify(countNotification++, builder.build());
Log.v(TAG,"count "+countNotification);
}

当应用程序正在运行(前台)时,它工作正常并按预期启动通知 Activity 。

但是,当它在后台运行时,我会收到通知,但标题和正文是在我的服务器发送器应用程序中定义的,点击它会将我带到主 Activity 。

  1. 这实际上意味着当它在后台运行时,其他东西会处理通知?我是否应该实现另一个处理程序来管理该通知并将用户发送到正确的 Activity ?

  2. 当我收到此通知时,屏幕不会唤醒,手机上的 LED 也不会像其他应用程序的通知那样亮起。你是如何管理的?

(权限、服务和接收者在教程中描述的 list 中定义)

最佳答案

  1. In problem regarding when your apps running in the background something else handles the notification?

SO question可以帮助您回答有关 GCM 监听器服务的问题

  1. In the problem regarding to the screen that doesn't wake when you receive notification.

使用 ACQUIRE_CAUSES_WAKEUP

普通唤醒锁实际上不会打开照明。相反,它们会使照明在打开后保持打开状态(例如,来自用户 Activity )。当获取唤醒锁时,此标志将强制屏幕和/或键盘立即打开。一个典型的用途是通知,这对用户来说很重要,可以立即看到。

可以访问这个SO question了解如何使用它。

关于android - GcmListenerService 在后台运行时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com