我将我的应用程序设置为设备所有者,当我调用 startLockTask()
时屏幕固定。当我尝试使用此方法运行另一个应用程序时,我现在的问题是:
Intent i = getPackageManager().getLaunchIntentForPackage("com.example.test");
startActivityForResult(i,Intent.FLAG_ACTIVITY_NEW_TASK);
(什么都没发生) 我必须做些什么才能让它运行?
编辑:我尝试添加
dpm.setLockTaskPackages(deviceAdmin, new String[] { getPackageName() ,"com.example.test"});
它也没有启动。
最佳答案
您应该检查设备上是否安装了带有 applicationId
的应用程序。例如,在您的情况下,applicationId 是 com.example.test
。
如果未安装该应用程序,您可以将用户带到市场或让他们选择一个应用程序。
String packageName = "com.example.test";
.
.
.
Intent i = context.getPackageManager().getLaunchIntentForPackage(packageName);
if (i == null) {
i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("market://details?id=" + packageName));
// Open app in google play store:
// i.setData(Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName));
}
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
关于Android 在任务锁定时运行另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38933021/