相关疑难解决方法(0)

屏幕以编程方式固定第三方应用

在实现设备所有权之后,我试图实现一种方法来指示设备将任何给定的应用程序锁定到信息亭模式(或屏幕固定模式).由于我拥有设备所有权,因此不会要求用户获得许可.

在开发者网站上,简要说明告诉我可以做我正在尝试的事情:

http://developer.android.com/about/versions/android-5.0.html#ScreenPinning

以编程方式:要以编程方式激活屏幕固定,请从您的应用程序调用startLockTask().如果请求的应用程序不是设备所有者,则会提示用户进行确认.设备所有者应用程序可以调用setLockTaskPackages()方法,以便在没有用户确认步骤的情况下使应用程序可以固定.

这表明作为设备所有者应用程序,我可以在没有用户确认的情况下锁定其他应用程序...但我不知道如何操作.

我已经能够将自己的应用程序置于固定模式.

任何帮助,将不胜感激.

android device-policy-manager android-5.0-lollipop android-screen-pinning device-owner

14
推荐指数
1
解决办法
1万
查看次数

Android 5.0(和其他设备)上的设备所有者使用root设备,通过NFC设备配置

我需要知道如何在Android 5.0,4.4和4.3(?)中将我的应用程序设置为设备所有者.我已经成功地尝试了root设备的方法(在那里描述).我看到它在android 5.0和4.4.2模拟器以及CyanoGen AOSP 4.4.4(所有有根设备)中都很有效.但是我必须在其他非root设备上尝试这个,在Android 5.0 Developer API中你可以读到这个

"要部署和激活设备所有者,您必须在设备处于未设置状态时执行从编程应用程序到设备的NFC数据传输."

但我不明白这意味着什么,或者更好,我要做什么.有人可以帮助我,还是解释我要做的一步?

PS.我知道NFC是什么以及它是如何工作的但是我无法理解如何使用这个问题.

android provisioning nfc android-5.0-lollipop

12
推荐指数
1
解决办法
1万
查看次数

是否有可能在Android Lollipop中拥有一个不存在的"Profile Owner"应用程序

Lollipop API提供了2个新功能"Profile Owner"和"Device Owner"(http://developer.android.com/about/versions/android-5.0.html#Enterprise).在它们之间,它们提供了我需要的应用程序所需的功能,父母可以使用它来控制孩子的设备活动.每个的设置流程是:

设备所有者

在设备设置期间,使用NFC,您可以告诉Android您希望您的应用成为设备所有者.Android然后从URL下载应用程序,并且设备已加密并作为设备所有者配置应用程序.因此,对于从Google Play安装我的应用程序的人,我需要该应用程序提示他们重置他们的设备,然后在另一台设备上安装另一个应用程序,然后NFC将它们组合在一起.随着设置流程的进行,这远非理想.但是一旦设置,设备所有者API就为此用例提供了非常丰富的功能集.

资料所有者

此设置更直接:用户从Google Play安装应用程序,然后可以提示您为应用程序配置文件所有者权限.如果用户同意,则设备由Android加密,并且在重新启动后,设备具有使用相同启动器(主屏幕)的2个"共存"配置文件.设置可能更直接,但最终结果并不是我真正需要的,因为应用程序只能控制托管配置文件下的应用程序.

所以我想我实际上有两个问题:是否可以创建一个控制整个用户配置文件的配置文件所有者应用程序,即不是共存的托管配置文件?或者是否可以使用更简单的设置流程创建设备所有者应用程序,不需要恢复出厂设置和NFC凹凸(根不是一个选项)?两种方法之间的某些中间地带是理想的.

android nfc device-policy-manager android-5.0-lollipop device-owner

7
推荐指数
1
解决办法
3782
查看次数

Android 移动设备管理:禁用跨所有应用程序的屏幕截图

我正在制作一个 MDM 应用程序,我必须在其中阻止设备中所有应用程序的屏幕截图。我知道使用

 getWindow().setFlags(LayoutParams.FLAG_SECURE,LayoutParams.FLAG_SECURE)
Run Code Online (Sandbox Code Playgroud)

我可以在我的应用程序活动中禁用屏幕截图,但我想在安装到设备中的所有应用程序中禁用屏幕截图。以前我使用文件观察器来阻止屏幕截图,它检测是否有任何图像已添加到 Screenshot 文件夹中,它正在删除该图像。但是从 Android M 开始,他们不允许文件观察器。我搜索了很多,但没有得到任何解决方案。但是许多Android应用程序,如quick Heal的seqrite MDM也阻止了Android M中的屏幕捕获,因此必须有某种方法。

我在 DevicePolicyManger 类中找到了 api setScreenCaptureDisabled,它可以禁用屏幕捕获,但只能由设备所有者应用程序调用。

如果有人知道阻止屏幕捕获的方法,请帮助我。

android screenshot mdm

6
推荐指数
1
解决办法
1820
查看次数

如何在Android DPM中删除set-device-owner?

我使用ADB创建了一个应用设备所有者,请点击此链接: 如何使我的应用成为设备所有者?

但是现在,我无法恢复这个.

在"设备管理"选项卡中,禁用此选项.无法更改此应用的价值.

android adb device-policy-manager

6
推荐指数
4
解决办法
1万
查看次数

使用 Runtime.exec(...) 运行 dpm

这个答案表明 Android 应用程序可以dpm像这样运行:

Runtime.getRuntime().exec("dpm set-device-owner com.test.my_device_owner_app");
Run Code Online (Sandbox Code Playgroud)

在我运行 5.1.1 的 Nexus 4 上,此问题会默默失败。shell 返回错误代码 0(成功)并且没有控制台输出。尽管取得了明显的成功,但我的应用程序并未成为设备所有者。该设备刚刚恢复出厂设置,未配置用户帐户。

作为对照,我尝试运行垃圾命令而不是dpm. 正如预期的那样,它失败了。

这曾经有效吗?是故意削弱的吗?

android kiosk-mode android-5.1.1-lollipop

5
推荐指数
1
解决办法
4216
查看次数

Android - 如何通过用户名以编程方式切换用户?

我是 Android 新手,我必须在工作中创建一个执行以下任务的应用程序:

  1. 我监听一个应该向我发送用户名的套接字。
  2. 收到用户名后,我需要在平板电脑上切换到该用户帐户。
  3. 如果我收到与当前活动用户相同的用户名,我不需要切换(显然)。

我们的平板电脑已获得 root 权限并运行 CyanogenMod 12.1 和 Android 5.1.1 Lollipop。由于这不是从 Play 商店下载的商业版本,我可以假设我可能需要的所有权限都会被授予。

我搜索了一种干净的代码方法来做到这一点,而无需运行 shell 命令或其他黑客,但找不到任何东西......

android

5
推荐指数
1
解决办法
3734
查看次数

有没有办法为所有可用的操作系统获取当前正在运行的前台应用程序(包)?

我知道,关于这个主题已经提出了太多问题,但并非所有操作系统/设备都支持这些问题

  1. 有没有办法为所有可用的操作系统获取当前正在运行的前台应用程序(包)?
  2. AppLock如何工作(它如何检测任何应用程序启动)?

我尝试过的(但失败了)

  1. 如何检测是否启动了 android 应用程序?- 谷歌已在 Android L 中禁用。
  2. 如何使用 UsageStatsManager?-android.permission.GET_TASKS被贬低了。
  3. 如何让我的应用成为设备所有者?- 无法以编程方式执行此命令。
  4. ?
  5. 诺克斯标准 SDK

我想要的是

  • 用户应该无法访问列入黑名单的应用程序。我的应用程序应该在黑名单应用程序前面启动(AppLock一样
  • 用户只能访问列入白名单的应用程序。
  • 我尝试了更多解决方案,但无法获得适用于所有可用操作系统/设备的完美解决方案。
  • 我想要以编程方式/免费/针对每个设备和操作系统的解决方案

android mdm

5
推荐指数
1
解决办法
447
查看次数

Android Studio,信息亭模式,单一用途设备,锁定任务模式

我正在尝试创建一个单一用途的应用程序。因此,我创建了一个BaseActivity,我所有的活动都继承自它。

看起来像

public class LockDeviceActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


    }

    private void startLock() {


        if(mDevicePolicyManager.isLockTaskPermitted(getPackageName())) {
            /**
             * If lock task is permitted, we can lock the task. We can use an external DPM like
             * TestDPC provided by Google to manage lock task list.
             *
             * If the lock is obtained using TestDPC, features like status bar, home button, recent
             * apps, etc is disabled.
             *
             * To unlock we can programatically …
Run Code Online (Sandbox Code Playgroud)

kiosk-mode android-studio

1
推荐指数
1
解决办法
6920
查看次数