2012-07-29 72 views
0

我試圖將SIM序列號存儲爲SharedPreferences中的值,但是當我做Toast以測試它爲空的值時。Toast用於檢索SharedPreferences返回空值

TelephonyManager tMgr=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
    String ss = tMgr.getSimSerialNumber(); 

    // Writing data to SharedPreferences 
    Editor editor = sp.edit(); 
    editor.putString("serial", ss); 
    editor.commit(); 

    String value = settings.getString("serial", ""); 
    Toast.makeText(this, value, Toast.LENGTH_LONG).show(); 

回答

1
  • 並將序列:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putString("serial", ss); 
    editor.commit(); 
    
  • 檢索序列:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    String value = prefs.getString("serial", "000000000000"); 
    

其中000000000000是,如果將返回到您的默認值sharedPreferences不是st或。

1
public void saveSerial(String serial){ 
     SharedPreferences prefs = getSharedPreferences("SIMSerial",Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("Serial", serial); 
     editor.commit(); 
    } 
    public String getSerial(){ 
     String getSIMSerial; 
     SharedPreferences prefs = getSharedPreferences("SIMSerial",Context.MODE_PRIVATE); 
     getSIMSerial = prefs.getString("Serial", "Default value"); 
     return getSIMSerial; 
    } 

的序列號將被存儲在一個XML,你可以在/數據/數據/ YOUR_APP/shared_prefs發現/

0

簡短的回答: 檢查你如何實例化設置變量。你正在使用sp.edit(),所以它應該也可能是sp.getString。