1
我正在使用appLocker,我必須在已安裝的設備應用程序上設置密碼。 爲此,我創建了一個列表,其中獲取了所有已安裝的應用程序。用戶可以通過使用checkBox選擇應用程序並在其上設置密碼。爲此,我必須獲取該應用程序的包名稱。我能夠獲取所選應用程序的包名稱,並使用「共享首選項」保存它們。現在我必須在另一個活動中獲取該包名稱。請告訴我如何獲得該信息。如何從共享首選項獲取軟件包名稱?
這是我得到包名的代碼。
public void onClick(View v) {
if (R.id.select_done_btn == v.getId()) {
SharedPreferences prefs = getSharedPreferences(getPackageName(), MODE_PRIVATE);
int[] indexes = appListAdapter.getSelectedItemIndexes();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < indexes.length; ++i) {
AppInfo appInfo = installedApps.get(indexes[i]);
sb.append(appInfo.getPackageName()).append(";");
}
Editor editor = prefs.edit();
editor.putString("lock_apps", sb.toString());
editor.commit();
這個代碼部分,在那裏我得到那個包名稱鎖定在另一個活動所選擇的應用程序..
public void run() {
while (true) {
Log.i("lock", "lockerThread run.");
String packname = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
if ("**PACKAGE NAME**".equals(packname)) {
startActivity(pwdIntent);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
使用sharedPref .getString函數 – KOTIOS 2014-10-09 12:27:45
謝謝你的迴應Mtetno,但是請你告訴我如何使用它以及在哪裏使用它。我的意思是,我可以在這個和平代碼中使用它嗎? – Devraj 2014-10-09 12:34:39
使用List來代替使用StringBuilder – 2014-10-09 12:47:14