0
我有一個使用sharedpreferences的應用程序。它在活動中正常工作。但是,相同的SharedPreference方法在BroadcastReceiver或Service中不起作用。共享首選項在BroadcastReceiver中不起作用
示例活動正常工作:
import android.content.SharedPreferences;
public class SetTelco extends Activity implements OnClickListener, OnItemSelectedListener {
public static final String Telco="Telco";
public static String phoneNum;
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
// An item was selected. You can retrieve the selected item using
//parent.getItemAtPosition(pos).toString();
String phoneNum = getResources().getStringArray(R.array.country_short_codes)[parent.getSelectedItemPosition()];
SharedPreferences telco=getSharedPreferences(Telco,Context.MODE_WORLD_READABLE);
SharedPreferences.Editor telcoEdit=telco.edit();
telcoEdit.clear();
telcoEdit.putString(Telco, phoneNum);
//Toast.makeText(getApplicationContext(), phoneNum, 5000).show();
telcoEdit.commit();
}
}
=========================
實施例的BroadcastReceiver:
的Eclipse給我一個錯誤:在該行 多個標記 - 現場Context.MODE_WORLD_READABLE已被棄用 - 方法getSharedPreferences(字符串,整數)是未定義的類型SetAlarms
import android.content.SharedPreferences;
public class SetAlarms extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
SharedPreferences telco=getSharedPreferences(Telco,Context.MODE_WORLD_READABLE);
String phoneNum="Empty";
phoneNum=telco.getString(Telco,"Empty");
.
.
.
sms.sendTextMessage(phoneNum, null, sendMsg, null, null);
}
}
找不出有什麼區別。根據文檔,SharedPreferences應該在所有組件,活動&服務中工作。
任何幫助表示讚賞。
telco = context.getSharedPreferences(Telco,Context.MODE_WORLD_READABLE); – user2475400 2014-09-01 18:50:41