启动时启动应用程序

实现此目的的最佳方法是将您的应用程序设置为启动器

android:launchMode="singleInstance"

android:windowActionBar="false">

锁定您的应用

最可靠的方法是使用Lollipop或更高版本的设备并使用

startLockTask

首先你必须将您的应用设置为设备所有者 . 注意,您的设备必须取消设置:如果您已注册,则应重置工厂并跳过帐户注册 .

为了能够注册您的应用程序,您必须首先设置DeviceAdminReceiver组件:

package com.example.myapp;

public class MyDeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver {

@Override

public void onEnabled(Context context, Intent intent) {

Toast.makeText(context, "Device admin permission received", Toast.LENGTH_SHORT).show();

}

@Override

public CharSequence onDisableRequested(Context context, Intent intent) {

return "are you sure?";

}

@Override

public void onDisabled(Context context, Intent intent) {

Toast.makeText(context, "Device admin permission revoked", Toast.LENGTH_SHORT).show();

}

@Override

public void onLockTaskModeExiting(Context context, Intent intent) {

// here you must re-lock your app. make your activity know of this event and make it call startLockTask again!

}

}

一旦你有一个未设置的设备,你可以从adb( no root required )启动以下命令

adb shell dpm set-device-owner com.example.myapp/.MyDeviceAdminReceiver

为了避免android询问用户固定你的应用程序的权限你必须调用setLockTaskPackages

最后!

@Override

public void onResume(){

super.onResume();

DevicePolicyManager mDevicePolicyManager = (DevicePolicyManager) getSystemService(

Context.DEVICE_POLICY_SERVICE);

ComponentName mAdminComponentName = new ComponentName(getApplicationContext(), MyDeviceAdminReceiver.class);

mDevicePolicyManager.setLockTaskPackages(mAdminComponentName, new String[]{getPackageName()});

startLockTask();

}

@Override

public void finish(){

stopLockTask();

super.finish();

}

Java实现 kiosk模式,Android中的Kiosk模式相关推荐

  1. Java I/O在Android中应用(一)

    Java I/O在Android中应用(一) 前言(废话) 本来想周末拉一拉进度的,结果跑完10KM马拉松之后,发现自己已经完全没有力气再去做任何事情了. 讲一些日常的事情吧,最近家里人说要给我介绍对 ...

  2. Android中的代理模式

    Android中的代理模式 1. 什么是代理 比如我们生活中的找出租屋,需要去找中介进行寻找挑选.而这里的中介就是代理.列子中看出代理特点如下1. 租客跟中介要做成的最终目的是一致的就是租到房子(目标 ...

  3. Android中Activity启动模式

    Android中Activity启动模式一共是四种,这里我写一下我对其的理解: 1.standard(默认) 2.singleTop,如果某个Activity设置了该属性,且当前Activity就是这 ...

  4. android中的recovery模式

    这里使用基于freescale的imx_r9.2 patch的android源码分析. android中的recovery模式,作为android的开发者或者用户都应该清楚和了解.android利用r ...

  5. Java实现二十三种设计模式(五)—— 十一种行为型模式 (中)——解释器模式、迭代器模式、中介者模式、备忘录模式

    Java实现二十三种设计模式(五)-- 十一种行为型模式 (中)--解释器模式.迭代器模式.中介者模式.备忘录模式 一.解释器模式 我国 IT 界历来有一个汉语编程梦,虽然各方对于汉语编程争论不休,甚 ...

  6. android classloader的功能和工作模式,Android中ClassLoader和java中ClassLoader有什么关系和不同...

    一.Java中的ClassLoader是什么? 当写好一个Java应用程序,程序都是由若干个.class类文件组织而成的,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都 ...

  7. Android中Activity启动模式详解

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...

  8. android中的mvp模式怎么定义,详解MVP模式在Android开发中的应用

    一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Mode ...

  9. android中的mvp模式怎么定义,在android中使用MVP模式

    1.MVP介绍java 随着UI建立技术的功能日益加强,UI层也履行着愈来愈多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专一于处理数 据的可视化以及与用户的交互,同时 ...

  10. Android中的MVP模式初步使用

    为什么80%的码农都做不了架构师?>>>    之前在做javaweb的项目的时候,最开始接触的mvc结构作为做根本的结构,在Android项目中 Google本身设计的Androi ...

最新文章

  1. listen函数与海量用户同时登陆
  2. java两个数之间质数求法,求任意两个整数之间质数的个数的代码!!!(新手编写)...
  3. oracle 连接greenplum,Oracle通过DBLINK访问GreenPlum
  4. UVA11532 Simple Adjacency Maximization【位运算】
  5. matlab2c使用c++实现matlab函数系列教程-median函数
  6. 三种基本排序方法-冒泡排序,选择排序,插入排序
  7. 解决Windows10无法卸载Edge浏览器,亲测有效
  8. 笔记本电脑CPU低压、标压、高压的区别
  9. 0ops CTF/0CTF writeup
  10. C++ 字符串的截取
  11. Flutter 利用 FFI,绕过 Android JNI 直接调用 C++ 层!
  12. kali linux实体机_kali linux系统安装之物理机的详细安装步骤
  13. Android手账本案例
  14. OpenCV开发笔记(四十八):红胖子8分钟带你深入了解直方图均衡化(图文并茂+浅显易懂+程序源码)
  15. 如何通adb命令删除安卓设备上指定的文件和apk
  16. linux wget
  17. 《证券投资基金投资流通受限股票估值指引(试行)》解读
  18. 机电工程毕业论文题目【484个】
  19. 简体繁体转换功能php,PHP输出控制功能在简繁体转换中的应用
  20. 浅谈微信公众号怎么涨粉丝

热门文章

  1. 2014年校园招聘IT公司工资列表
  2. 数据库的ACID(原子性、一致性、隔离性与持久性)
  3. 资源变现小程序添加折扣充值和折扣影票插件
  4. 纯css实现3D立体六面体照片墙
  5. 2023 年(MCM/ICM)美国大学生数学建模竞赛参赛规则及注意事项
  6. 墨哥视角,微软大八系,能大发么?(一)——surface
  7. 硬盘换个计算机怎么启动,更换硬盘后,从U盘启动安装win7的13步方法
  8. Apache doris 使用过程中常见问题汇总
  9. psf2otf函数的解释
  10. C# :DateTime使用详解