Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何限制android上其他应用的使用_Java_Android - Fatal编程技术网

Java 如何限制android上其他应用的使用

Java 如何限制android上其他应用的使用,java,android,Java,Android,我们正在为Android构建一个应用程序,该应用程序具有家长锁。我一直在阅读有关广播接收机的文章,但我很难找到我们正在努力做的事情的细节 这就是应用程序的工作原理: 锁屏上有我们的应用程序图标(我们已经这样做了) 家长登录后将看到设备上每个应用程序的列表。如果我们能展示它的应用图标,那就太棒了——如果不能,我们只能满足于应用的名称 然后,家长设置哪些应用可以在设备上使用,哪些不能 如果孩子关闭我们的应用程序-如果他们加载另一个受限制的应用程序,它将自动被“杀死” 我需要帮助了解的是: 如何获取设

我们正在为Android构建一个应用程序,该应用程序具有家长锁。我一直在阅读有关广播接收机的文章,但我很难找到我们正在努力做的事情的细节

这就是应用程序的工作原理:

  • 锁屏上有我们的应用程序图标(我们已经这样做了)
  • 家长登录后将看到设备上每个应用程序的列表。如果我们能展示它的应用图标,那就太棒了——如果不能,我们只能满足于应用的名称
  • 然后,家长设置哪些应用可以在设备上使用,哪些不能
  • 如果孩子关闭我们的应用程序-如果他们加载另一个受限制的应用程序,它将自动被“杀死”
  • 我需要帮助了解的是:

  • 如何获取设备上的应用程序列表
  • 如何限制设备上应用的使用

  • 还有其他应用程序也在这样做,但我正在努力找到正确的文档。

    关于您的第一个问题:

    获取已安装应用程序的列表

    PackageManager pm = getPackageManager();
    List<ApplicationInfo> apps = pm.getInstalledApplications(0);
    

    关于你的第二个问题,我认为323go所说的是正确的。

    你需要平台密钥或root来实现这一点。有一些“黑客”的工作,但没有什么是可靠的。最好是创建一个带有限制的自定义启动器,并将其称为“子模式”——或者使用JB多用户功能。
    String label = (String)pm.getApplicationLabel(app);
    Drawable icon = pm.getApplicationIcon(app);