저는 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 function – KOTIOS
친절한 답변을 해줘서 고맙습니다.하지만 이것을 사용하는 방법과 사용 장소를 알려주세요. 내 말은,이 코드의 평화에 그것을 사용할 수 있습니까? – Devraj
StringBuilder를 사용하는 대신 List를 사용하십시오. –