Android7.0中如何使用MTK设置默认桌面
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要讲解了"Android7.0中如何使用MTK设置默认桌面",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android7.0中如何使用MTK
千家信息网最后更新 2024年09月22日Android7.0中如何使用MTK设置默认桌面
这篇文章主要讲解了"Android7.0中如何使用MTK设置默认桌面",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android7.0中如何使用MTK设置默认桌面"吧!
1.找到安装应用的文件
frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java try { PackageParser.Package newPackage = scanPackageTracedLI(pkg, policyFlags, scanFlags, System.currentTimeMillis(), user); updateSettingsLI(newPackage, installerPackageName, null, res, user); if (res.returnCode == PackageManager.INSTALL_SUCCEEDED) { prepareAppDataAfterInstallLIF(newPackage); Log.d("yh", "pkgName " +pkgName); // 由于客户的应用保密 这里使用点心桌面的包名---com.dianxinos.dxhome if (pkgName.equals("com.dianxinos.dxhome")){ //发送广播 Intent intent = new Intent("android.intent.action.UPDATE_LANUCHER_APPS"); mContext.sendBroadcast(intent); } //------------------------ } else { // Remove package from internal structures, but keep around any // data that might have already existed deletePackageLIF(pkgName, UserHandle.ALL, false, null, PackageManager.DELETE_KEEP_DATA, res.removedInfo, true, null); } } catch (PackageManagerException e) { res.setError("Package couldn't be installed in " + pkg.codePath, e); } Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); }
2.由于设置默认桌面时,是在Settings中设置的所以广播接收者在settings中添加并设置默认桌面(添加文件-packages\apps\Settings\src\com\android\settings下-UpdateLanucherReceiver.java)
package com.android.settings;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.ComponentName;import android.content.IntentFilter;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import java.util.ArrayList;import android.util.Log;import android.content.pm.ActivityInfo;import java.util.List;public class UpdateLanucherReceiver extends BroadcastReceiver { public UpdateLanucherReceiver() { } @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.intent.action.UPDATE_LANUCHER_APPS")) { Log.e("yhyh" ," onReceive"); final PackageManager mPm = context.getPackageManager(); // 点心桌面的包名类名 com.dianxinos.dxhome / com.nd.hilauncherdev.launcher.Launcher设置默认桌面 ComponentName DefaultLauncher=new ComponentName(" com.dianxinos.dxhome", "com.nd.hilauncherdev.launcher.Launcher"); ArrayListhomeActivities = new ArrayList (); ComponentName currentDefaultHome = mPm.getHomeActivities(homeActivities); ComponentName[]mHomeComponentSet = new ComponentName[homeActivities.size()]; for (int i = 0; i < homeActivities.size(); i++) { final ResolveInfo candidate = homeActivities.get(i); Log.e("yhyh","homeActivitie: candidate = "+candidate); final ActivityInfo activityInfo= candidate.activityInfo; ComponentName activityName = new ComponentName(activityInfo.packageName, activityInfo.name); mHomeComponentSet[i] = activityName; } IntentFilter mHomeFilter = new IntentFilter(Intent.ACTION_MAIN); mHomeFilter.addCategory(Intent.CATEGORY_HOME); mHomeFilter.addCategory(Intent.CATEGORY_DEFAULT); List Activities=new ArrayList(); mPm.replacePreferredActivity(mHomeFilter, IntentFilter.MATCH_CATEGORY_EMPTY,mHomeComponentSet, DefaultLauncher); //刷新桌面 Intent intent2 = new Intent(Intent.ACTION_MAIN); intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent2.addCategory(Intent.CATEGORY_HOME); context.startActivity(intent2); } }}
3.packages\apps\Settings\AndroidManifest.xml
感谢各位的阅读,以上就是"Android7.0中如何使用MTK设置默认桌面"的内容了,经过本文的学习后,相信大家对Android7.0中如何使用MTK设置默认桌面这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
桌面
学习
内容
文件
点心
广播
应用
客户
就是
思路
情况
接收者
文章
是在
更多
知识
知识点
篇文章
类名
跟着
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江西省网络安全考试
数据库语言使用方法
四川网络卫星授时服务器
无锡网络安全准入控制报价
吃鸡合并服务器
阜阳市云众互联网络科技
大学生在校网络安全
网络技术专利上市公司
如何将它们备份到tftp服务器
网络技术与应用期末总结
深圳市优多特网络技术公司
龙港中先互联网科技有限公司
网络技术运维类专业知识
我的世界服务器生存的技巧
赛鲁班网络技术有限公司
人事hr软件开发
用友U8数据库无法检索
服务器远程管理ip配置
反馈服务器为空是怎么回事
企业为什么要用数据库
计算机网络技术几年制
银行核心软件开发工程师招聘
我国互联网科技成就
sql跨服务器可以连接索引吗
盈科思泰网络技术怎么样
数据库的应用 金融
幻塔安卓和苹果服务器是否分开
简述统一软件开发
金融网络安全的股票有哪些
合肥网络安全俱乐部