android 起动APP时锁住(Lock apps)
2019独角兽企业重金招聘Python工程师标准>>>
android手机管家锁住其它APP,发现有点流氓,后台一个线程在不停的运行
大致的核心代码如下:起时在service中启动这个类,但做测试为图个方便直接在Activity中启动
package com.example.testsafe;import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;public class ApkInfo extends ApplicationInfo{private String appname;private String pname;private String versionName;private int versionCode;private PackageInfo packageInfo;public static ApkInfo getInfoFromPackageName(String pkgName,Context mContext) {ApkInfo newInfo = new ApkInfo();try {PackageInfo p = mContext.getPackageManager().getPackageInfo(pkgName, PackageManager.GET_PERMISSIONS);newInfo.appname = p.applicationInfo.loadLabel(mContext.getPackageManager()).toString();newInfo.pname = p.packageName;newInfo.versionName = p.versionName;newInfo.versionCode = p.versionCode;newInfo.setPackageInfo(p);} catch (NameNotFoundException e) {e.printStackTrace();return null;}return newInfo;}public String getAppname() {return appname;}public void setAppname(String appname) {this.appname = appname;}public String getPname() {return pname;}public void setPname(String pname) {this.pname = pname;}public String getVersionName() {return versionName;}public void setVersionName(String versionName) {this.versionName = versionName;}public int getVersionCode() {return versionCode;}public void setVersionCode(int versionCode) {this.versionCode = versionCode;}public PackageInfo getPackageInfo() {return packageInfo;}public void setPackageInfo(PackageInfo packageInfo) {this.packageInfo = packageInfo;}}
package com.example.testsafe; import java.util.List; import java.util.Timer; import java.util.TimerTask; import android.app.ActivityManager; import android.app.ActivityManager.RunningAppProcessInfo; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; public class Safe { String lastFrontAppPkg = null; public void test(final Context mContext){ Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> appProcesses= activityManager.getRunningAppProcesses(); for (RunningAppProcessInfo appProcess : appProcesses) { try { if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { if (!lastFrontAppPkg.equals((String) appProcess.pkgList[0])) { ApkInfo apkInfo = ApkInfo.getInfoFromPackageName(appProcess.pkgList[0], mContext); if (apkInfo == null || (apkInfo.getPackageInfo().applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { // System app continue; } else if (((apkInfo.getPackageInfo().versionName == null)) || (apkInfo.getPackageInfo().requestedPermissions == null)) { //Application that comes preloaded with the device continue; } else { lastFrontAppPkg = (String) appProcess.pkgList[0]; } //kill the app //Here do the pupop with password to launch the lastFrontAppPkg if the pass is correct if(lastFrontAppPkg.equals(mContext.getPackageName())){ Intent intent = new Intent(mContext, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); } } } } catch (Exception e) { //e.printStackTrace(); } } } }, 0, 100); } }
转载于:https://my.oschina.net/u/1013713/blog/133795
android 起动APP时锁住(Lock apps)相关推荐
- Android 启动APP时黑屏白屏的三个解决方案
Android 启动APP时黑屏白屏的三个解决方案 参考文章: (1)Android 启动APP时黑屏白屏的三个解决方案 (2)https://www.cnblogs.com/liqw/p/42634 ...
- Android 解锁app,应用锁「AppLock」v3.3.0 for Android 完美解锁版
摘要 一款可以有效保护您应用.图片.视频等隐私的应用 随着我们的手机越来越智能,我们的隐私也同样一一的都储存在了里面,于是隐私安全就成为了重中之重的大事.恩!您可以考虑试试今天这款应用锁「AppLoc ...
- python多线程之线程锁(Lock)和递归锁(RLock)实例
一.线程锁 Threading模块为我们提供了一个类,Threading.Lock锁.我们创建一个该类对象,在线程函数执行前,"抢占"该锁,执行完成后,"释放" ...
- synchronized锁住的到底是什么
文章目录 论证 1.首先创建线程调用类 2.修饰非静态方法 锁住的是实例对象本身 3.修饰静态方法 锁定的是类(可以说 类是Class的对象) 4. 修饰代码块时 5. synchronized()修 ...
- android app防止锁屏_如何控制Android不锁屏
锁定屏幕对于移动终端来说是非常有必要的,但是对于机顶盒产品就没有这个必要了.所以本文介绍一下怎样让Android设备永不锁屏. Android系统的锁屏时间存放在Setting数据库中,字段为Sett ...
- Android关闭屏幕时不锁屏
Android关闭屏幕时不锁屏 权限 <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/ ...
- android app防止锁屏_Android 禁止屏幕休眠和锁屏的方法
常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电 ...
- android app防止锁屏_Android 禁止屏幕休眠和锁屏的方法 | 学步园
Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想 ...
- android app自动锁屏,Android开机自动启动app 不锁屏
Android开机自动启动app 不锁屏 发布时间:2020-07-17 03:22:20 来源:51CTO 阅读:2086 作者:清水禅石 主要参考:http://life173.blog.51ct ...
最新文章
- 清华团队曝光「新冠病毒」3D高清结构照!这个恶魔已感染1亿地球人
- tomcat 7/8 启动非常慢的解决方法
- 关键字static、const、volatile的作用
- React setState流程解析
- OpenCV学习笔记(3)——Scalar数据类型理解
- BlueCatTools 批量查询网站的百度收录量,快照和外链的工具
- angular示例_Angular Dependency Injection用示例解释
- github上传命令
- 基础平台为第三方应用接入提供oauth2认证接口
- 饮食与癌细胞代谢的分子联系
- 文档转换工具 —— 你还在为wps的word转pdf上限五页而苦恼吗?
- 台式计算机通过电流,一台台式电脑正常工作的时候电流是多少安?谢谢
- 主流PHP博客系统比较
- MATLAB信号处理——信号与系统的分析基础(1)
- Word中如何把同一级编号一次性上升或下降一级或任意级,做到随意调整编号层级?
- (GPU) Intel 服务器独立GPU SG1 - H3C XG310试用
- Groovy和Grails介绍(1)
- Navicat新建查询系统找不到指定路径怎么办?
- 计算机系统写字板,什么是电脑写字板 电脑写字板使用方法
- 互联网时代,用小众语言对抗焦虑和内卷!
热门文章
- 亲测可用:Anaconda Windows Error:[Error 2]或者系统找不到指定文件
- 【阿里云课程】神经网络:从生物学机制到全连接神经网络的局限性
- 【直播课】有三AI直播答疑服务上线,如何学习计算机视觉与准备面试直播限时免费...
- 【AutoML】归一化(Normalization)方法如何进行自动学习和配置
- JDK5.0环境下配置PKCS#11
- 农产品区域公用品牌 农民丰收节交易会青岛谋定农业品牌
- 数字谋定农村建设-农业大健康·万祥军:农业人工智能应用
- 实验十四-团队项目评审课程学习总结
- Redis 之(二) Redis的基本数据结构以及一些常用的操作
- Android报表库aChartEngine系列