我必须在用户登录时显示推送通知。所以当应用程序打开时我正在使用deviceToken.So它将始终注册到服务器。但是当用户注销时我不想显示推送通知。那我该怎么办呢?
现在我已经完成了检查首选项值,如下面的代码
public void onMessageReceived(String from, Bundle data) {
loginPref = getSharedPreferences("loginPreference", Context.MODE_PRIVATE);
mEditPrefs = loginPref.edit();
userID = loginPref.getString("userId", null);
if(userID!=null){
Bundle bundle = data.getBundle("notification");
Log.d("Bundle123::", bundle + "");
if (bundle != null) {
String text = bundle.getString("text");
String body = bundle.getString("body");
String title = bundle.getString("title");
Log.d("text123::", text + "");
Log.d("title123::", title + "");
Intent in = new Intent();
in.setAction("GCM_RECEIVED");
sendBroadcast(in);
sendNotification(title,body);
}
}
但是当应用程序背景这个条件不起作用。我怎么能这样做?因为我无法删除令牌,因为当我尝试登录时我也必须发送设备令牌..
答案 0 :(得分:0)
注销时间告诉后端将设备令牌设为null。