gpt4 book ai didi

java - MyGCMListenerService要写什么?

转载 作者:搜寻专家 更新时间:2023-11-01 09:49:48 25 4
gpt4 key购买 nike

我正在尝试使用本指南将 GCM 添加到我的新应用程序:https://developers.google.com/cloud-messaging/android/client#manifest

当我将这些行添加到我的 list 时,它出错并且无法识别这些行 android:name="com.example.MyGcmListenerService" android:name="com.example.MyInstanceIDListenerService"

是的,我已将 com.example 更改为我的项目详细信息。

 <receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.gcm" />
</intent-filter>
</receiver>
<service
android:name="com.example.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name="com.example.MyInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>

据我所知,我必须为 MyGcmListenerServiceMyInstanceIDListenerService 创建自己的 Java 类,但我不知道要在其中写什么?

我对所有这些 GCM 东西感到非常困惑。

最佳答案

这是你需要在MyGcmListenerService中写的

public class MyGcmListenerService extends GcmListenerService {

private static final String TAG = "MyGcmListenerService";


@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
Log.e(TAG, "From: " + from);
Log.e(TAG, "Message: " + message);
sendNotification(message );

}

private void sendNotification(String message) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);

Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.logo)
.setContentTitle("Sorry!!")
.setContentText(message)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);

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

notificationManager.notify(0, notificationBuilder.build());
}

此服务将监听 GCM 消息。当收到消息时,将触发 onMessageReceived,然后由您负责处理 GCM 消息。你生成任何通知或任何你想要的。

关于java - MyGCMListenerService要写什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570316/

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