在 ROM 闪存或出厂重置之间是否存在任何类型的接触变量?我创建了一个查找联系人 ID 的应用程序,但显然当从出厂重置或新 ROM(以及设备之间)同步时,它会发生变化。我需要存储一个唯一标识符。请帮忙。谢谢你。
问问题
224 次
1 回答
0
如果您在谈论 sim 数据,也许您可能会想出一些东西。但是,如果您在谈论唯一标识符,我知道的唯一有效方法是生成 UUID 密钥并将其存储在本地和外部,正如 Reto Meier 在 Google I/O 2011 上所建议的那样。这是我的片段(不要介意我的 javadoc风格^^);
/**
* This is just a local solution. For world-wide usage,
* backup on a cloud is encouraged.
*
* @reference Reto Meier - Google I/O 2011
*
* @param context for accessing related shared preferences file
* @return unique id
*/
public synchronized static String getUniqueId(Context context)
{
String uniqueID;
//Open shared preferences file for PREF_UNIQUE_ID
SharedPreferences sharedPrefs = context.getSharedPreferences(PREF_UNIQUE_ID, Context.MODE_PRIVATE);
//Fetch id, if any.
uniqueID = sharedPrefs.getString(PREF_UNIQUE_ID, null);
//If no id saved into shared preferences before generate new one
if(uniqueID == null)
{
uniqueID = UUID.randomUUID().toString();
Editor editor = sharedPrefs.edit();
editor.putString(PREF_UNIQUE_ID, uniqueID);
editor.commit();
}
return uniqueID;
}
于 2012-05-13T21:48:32.277 回答