2012-08-13 193 views
1

是否可以在Android框架和應用程序之間共享數據?在Android框架和應用程序之間共享數據

我正在修改Android框架登錄組件,以便在登錄時保存變量,然後再由其他應用程序檢索。我試圖使用SharedPreferences,我的代碼如下所示:

在com.android.internal.policy.impl.PasswordUnlockScreen.java中,我有以下代碼寫入SharedPreferences。

SharedPreferences prefs = getContext().getSharedPreferences("mypref", Context.MODE_WORLD_READABLE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("mypref", "my data" 
editor.commit(); 

在我的其他應用程序中,我有下面的代碼來讀取它。

Context con; 
String data; 
try { 
    con = this.createPackageContext("com.android.internal.policy.impl", 0); 
    SharedPreferences pref = con.getSharedPreferences("mypref", Context.MODE_PRIVATE); 
    data = pref.getString("mypref", "0") 
} catch (NameNotFoundException e) { 
    data = "0"; 
    Log.e("No data shared", e.toString()); 
} 

當我運行代碼,我不斷收到的NameNotFoundException,因爲它聲稱的應用程序包com.android.internal.policy.impl是找不到的,所以我的數據始終爲「0」。

如何在這兩個組件之間共享數據?

回答

相關問題