作为一个有系统权限的Launcher应该干的事情
来源:互联网 发布:富阳法院拍卖淘宝网 编辑:程序博客网 时间:2024/06/04 17:44
一个有个性的Launcher应该干的事情有以下
第一步是把自己注册成默认程序
private fun makeSelfDefaultLauncher() { val filter = IntentFilter() filter.addAction(Intent.ACTION_MAIN) filter.addCategory(Intent.CATEGORY_LAUNCHER) filter.addCategory(Intent.CATEGORY_HOME) filter.addCategory(Intent.CATEGORY_DEFAULT) val component = ComponentName(applicationContext.packageName, LaunceActivity::class.qualifiedName) val components = arrayOf<ComponentName>(ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component) val pm = packageManager pm.clearPackagePreferredActivities("com.android.launcher") pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component)}
第二步删除旧版的程序
private fun removeDiscardLauncher() { val packages = packageManager.getInstalledPackages(0) for (pg in packages) { val pgName = pg.applicationInfo.packageName if (pgName.contains("com.jian.launcher")) { val info = packageManager.getPackageInfo(pgName, PackageManager.GET_CONFIGURATIONS) val pgVersion = info.versionCode if (pgVersion < BuildConfig.VERSION_CODE) { uninstallAppSilence(pgName) } } }}private fun uninstallAppSilence(packageName: String) { val cmd = "system/bin/pm uninstall " + packageName var process: Process? = null try { process = Runtime.getRuntime().exec(cmd) process.waitFor(); } catch (e: Exception) { e.printStackTrace() } finally { try { process?.destroy() } catch (e: Exception) { e.printStackTrace() } }}
阅读全文
0 0
- 作为一个有系统权限的Launcher应该干的事情
- 国庆最应该干的事情
- System类的可以干的事情有很多!
- 自己的事情自己干!
- 关于每一个数据库表都应该有一个单一的字段作为主键的讨论
- 作为一个程序员应该注意的地方
- 作为一个产品应该做的要求
- 作为一个程序员应该看的书籍
- 去哪都要好好干,事情都是给自己干的
- Linux上必须干和不建议干的事情
- 最近干的事情:跟自己过不去
- c++最好不要干的事情
- 看看老毛子士兵干的事情!
- 5月份要干的事情
- 互联网DBA需要干的一些事情
- 互联网DBA需要干的一些事情
- 做为一个网站站长应该经历过的事情
- 呵呵,作为一个胖子做不到的事情,作为一个产妇能做到
- JavaScript基础之AJAX
- View视图框架源码分析之一:android是如何创建一个view
- (CodeForces
- 推荐系统实践----基于用户的协同过滤算法(python代码实现书中案例)
- Android中多国语言对应values文件夹命名
- 作为一个有系统权限的Launcher应该干的事情
- Swift 笔记-01 Swift简介
- 使用NODEJS解密bitshares网页钱包备份文件
- 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)
- 简单的sql注入及预防
- ubuntu下面的chrome浏览器增加标题栏
- UILabel标签文字过长时的显示方式
- Main 方法
- vue(8)