gpt4 book ai didi

android - 以编程方式停止 GcmListenerService

转载 作者:行者123 更新时间:2023-11-29 20:42:43 28 4
gpt4 key购买 nike

我正在使用 GCM。我想停止 GcmListenerService,这样我就可以停止应用程序接收不需要的通知。

我已经尝试了以下方法来关闭该服务,但它似乎并没有成功

Intent intent = new Intent(this, MyGcmListenerService.class);
stopService(intent);

这是我的服务等级

public class MyGcmListenerService extends GcmListenerService
{

private static final String TAG = "MyGcmListenerService";

// [START receive_message]
@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
String duration = data.getString("duration");
Log.d(TAG, "From: " + from);
Log.d(TAG, "Message: " + message);

sendNotification(message,duration);
}
// [END receive_message]

private void sendNotification(String message, String duration) {

new DisplayNotification(this).makeGCMNotification("Event Name", "Event Start Time", 1);
}
}

并在 list 中

<service
android:name=".Utilities.GCM.MyGcmListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</service>

最佳答案

停止服务无济于事,因为 GCMReceiver 总是会在收到新消息时调用 startWakefulService。由于 GCMReceiver 类不是我们真正应该编辑的东西,我建议您保留 bool 值或设置首选项以了解何时应实际读取/处理收到的消息。基于此,您可以让消息在后台接收,而实际上在应用程序/前台什么都不做。

关于android - 以编程方式停止 GcmListenerService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30774692/

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