Vis*_*hnu 5 service android broadcastreceiver data-access-app-block applocker
我必须为Android开发一个应用程序锁定器,用户可以阻止应用程序,而其他用户无法使用访问密钥访问这些应用程序.
我已经安装了一个应用程序,但我不知道如何锁定这个应用程序.
请给我一些建议.
The*_*Bat 22
这不是堆栈溢出的工作原理.你甚至不用尝试任何东西就无法提出完整的解决方案.
对于应用程序的最基本版本,您需要执行三个功能.
获取设备上所有已安装应用的列表,并在带有复选框的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));
}
Run Code Online (Sandbox Code Playgroud)检查哪个是当前打开的应用程序.您可以使用以下代码进行检查:
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
}
}
Run Code Online (Sandbox Code Playgroud)现在检查当前应用程序是否存在于BlockedAppsList中,如果存在,则可以显示带有阻止消息的任何屏幕.
祝好运!
归档时间: |
|
查看次数: |
14822 次 |
最近记录: |