无法从Android服务中的SharedReference接收更新的值
Iam遇到此问题已超过4小时,无法从服务类中的SharedPreference传递更新的值无法从Android服务中的SharedReference接收更新的值,android,service,sharedpreferences,Android,Service,Sharedpreferences,Iam遇到此问题已超过4小时,无法从服务类中的SharedPreference传递更新的值 public class Background extends Service { ..... ..... public int onStartCommand(Intent intent, int flags, int startId) { return Service.START_STICKY; } .... .... private void callService() { Stri
public class Background extends Service {
.....
.....
public int onStartCommand(Intent intent, int flags, int startId)
{
return Service.START_STICKY;
}
....
....
private void callService() {
String prefCount=getSharedData("list_update_count");
myb = new myBroad();
Context context = this.getApplicationContext();
myb.SetAlarm(context,prefCount);
}
....
....
public class myListener extends PhoneStateListener
{
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
super.onCallStateChanged(state, incomingNumber);
if (state == TelephonyManager.CALL_STATE_IDLE)
{
String phoneNumber = incomingNumber;
callService();
}
}
}
我的广播接收机------------------------------------------
public class myBroad extends BroadcastReceiver{
.....
.....
.....
public void onReceive(Context context, Intent intent) {
....
.....
}
public void SetAlarm(Context context,String prefCount){
//here the prefCount is not receiving the updated value!!
buildToast(prefCount,context);
}
.....
}
当我在强制停止后启动应用程序时,从SharedReference获得的更新值是正确的。
谢谢
SharedPreferences pref = getSharedPreferences("MyPreference", 0);
String prefCount = pref.getString("list_update_count", 0)
或者,如果您使用默认的SharedReference
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
String prefCount = pref.getString("list_update_count", 0);
你试过这个吗
SharedPreferences preferences = getSharedPreferences("preferences", Context.MODE_MULTI_PROCESS);
抱歉,Global是我自己的类,包含我项目中使用的常量,请将Global.PREFERENCES替换为您自己的SharedReferences名称。将您的logcat消息放在此处我在logcat o/p中看不到任何内容。我对logcat不熟悉,可能是因为这个原因-将您的logcat粘贴到此处,这将是更重要的解决方法error@RahulMandaliya,我通过将sharedPref更改为SharedPreferences preferences=getSharedPreferences(“preferences”,Context.MODE\u MULTI\u PROCESS)解决了这个问题;。谢谢您的帮助。很好,如果您有任何问题,请先发表简报,粘贴您的逻辑,然后是logcat错误列表,以便其他人能够准确理解您的意思,请您进行讨论好吗?关于Global.PREFERENCES,请。救了我一天。。谢谢@user3381480MODE\u MULTI\u进程已被弃用。请更新您的答案