我必須開發一款適用於Android的應用鎖定器,用戶可以阻止應用,其他用戶無法訪問這些應用時無需訪問密鑰。如何在android中製作應用程序鎖定應用程序?
我已經安裝了一個應用程序,但我不知道如何鎖定這個應用程序。
請給我一些建議。
我必須開發一款適用於Android的應用鎖定器,用戶可以阻止應用,其他用戶無法訪問這些應用時無需訪問密鑰。如何在android中製作應用程序鎖定應用程序?
我已經安裝了一個應用程序,但我不知道如何鎖定這個應用程序。
請給我一些建議。
這不是堆棧溢出如何工作。即使沒有嘗試任何東西,你也不能問完整的解決方案。
對於最基本的應用程序版本,您需要執行三項功能。
獲取設備上所有安裝的應用程序的列表,並使用複選框在ListView中顯示它們。如果用戶檢查任何應用程序,則將該應用程序添加到不同的列表中,例如BlockedAppsList(這將是用戶想要阻止的應用程序的列表)。 你可以使用下面的代碼安裝的所有應用程序:
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
Log.d(TAG, "Installed package :" + packageInfo.packageName);
Log.d(TAG, "Source dir : " + packageInfo.sourceDir);
Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName));
}
檢查這是當前打開的應用程序。您可以通過使用此代碼檢查:
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRecentTasks(1, ActivityManager.RECENT_WITH_EXCLUDED);
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while (i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(
info.processName, PackageManager.GET_META_DATA));
Log.w("LABEL", c.toString());
} catch (Exception e) {
// Name Not FOund Exception
}
}
現在檢查當前的應用程序出現在BlockedAppsList,如果有,則可以顯示與塊消息的任何畫面。
祝你好運!
歡迎來到SO。這不是如何工作。 [請參閱本文](http://stackoverflow.com/tour) – Aks4125