gpt4 book ai didi

android - 如何获取 FirebaseMessagingService 中的上下文?

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:07 27 4
gpt4 key购买 nike

我有一个应用程序,它使用 FCM 发送和接收消息。我已经按照文档中的建议实现了所有内容。

现在在生成 token 时,我想将其保存到共享首选项中。但它给出了错误。

考虑类名是这样的

public class MyFirebaseMsgAndTokenService extends FirebaseMessagingService {

private static final String TAG = "C_MyFirebaseIIDService";

@Override
public void onNewToken(String newToken) {
super.onNewToken(newToken);
Log.d(TAG, "Refreshed token: " + newToken);
CustomSharedPreferences customSharedPreferences = new CustomSharedPreferences(this); // giving error on this
String oldToken = customSharedPreferences.getStringData(FCM_GENERATED_TOKEN);
sendRegistrationToServer(newToken,oldToken);
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
Log.d(TAG, "From: " + remoteMessage.getFrom());

try {

} catch (Exception e) {

}
}}

我真的想在此服务中将 token 保存到我的应用程序中。请告诉我为什么我无法获得引用/上下文?

更新:我的 CustomSharedPrefernces 是一个将数据保存到 sharedPrefernces 的类

public class CustomSharedPreferences {

public static final String FCM_GENERATED_TOKEN = "FCM_GENERATED_TOKEN";


private static CustomSharedPreferences mCustomSharedPreferences;
private final SharedPreferences sharedPreferences;

public static CustomSharedPreferences getInstance(Context context) {
if (mCustomSharedPreferences == null) {
mCustomSharedPreferences = new CustomSharedPreferences(context);
}
return mCustomSharedPreferences;
}


public CustomSharedPreferences(Context context) {
sharedPreferences = context.getSharedPreferences("myApp", Context.MODE_PRIVATE);
}}

更新:

error: "android.content.context in CustomSharedPreferences can not be applied to com.myprojectname.MyFireBaseMsgAndTokenService"

最佳答案

你可以在这里看到我的 firebase 通知处理:

enter image description here

public UserPreferences(Context context) {
this.context = context;
preferences = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
}

您可以简单地使用 thisgetApplicationContext() 来获取上下文

关于android - 如何获取 FirebaseMessagingService 中的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737218/

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