Android - 安装及卸载应用,启动应用程序,分享

registerReceiver(receiver, filter);

  • 相关广播

  • ACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)

  • ACTION_PACKAGE_REPLACED 一个新版本的应用安装到设备,替换之前已经存在的版本

  • ACTION_PACKAGE_REMOVED 一个已存在的应用程序包已经从设备上移除,包括包名(正在被卸载的包程序不能接收到这个广播)

3.遍历集合时如何删除数据

方法一:高级for循环,记录要删除的数据,遍历后再删除

AppInfo deleteAppInfo = null;

//更新ui界面

for(AppInfo appinfo: userAppInfos){

if(appinfo.getPackName().equals(packname)){

deleteAppInfo = appinfo;

}

}

if(deleteAppInfo!=null){

userAppInfos.remove(deleteAppInfo);

}

方法二:使用迭代器进行遍历,可在遍历中删除

Iterator iterator = userAppInfos.iterator();

while(iterator.hasNext()){

AppInfo appinfo = iterator.next();

if (appinfo.getPackName().equals(packname)) {

iterator.remove();

}

}

方法三:使用普通for循环倒叙,可在遍历中删除。注意:如不采用倒叙,会遍历不全

for (int i = userAppInfos.size() - 1; i >= 0; i–) {

AppInfo appinfo = userAppInfos.get(i);

if (appinfo.getPackName().equals(packname)) {

userAppInfos.remove(i);

break;

}

}

4.启动一个应用程序

PackageManager pm = getPackageManager();

Intent intent = pm.getLaunchIntentForPackage(clickedAppInfo.getPackName());

if(intent!=null){

startActivity(intent);

}else{

Toast.makeText(this, “对不起,该应用无法被开启”, 0).show();

}

5.分享

Intent intent = new Intent();

intent.setAction(“android.intent.action.SEND”);

intent.addCategory(“android.intent.category.DEFAULT”);

intent.setType(“text/plain”);

intent.putExtra(Intent.EXTRA_TEXT, “推荐你使用一款软件:”+clickedAppInfo.getAppName()+“,真的很好用哦”);

startActivity(intent);

6.详细信息

Intent intent = new Intent(“android.settings.APPLICATION_DETAILS_SETTINGS”);

intent.addCategory(Intent.CATEGORY_DEFAULT);

intent.setData(Uri.parse(“package:”+clickedAppInfo.getPackName()));

startActivity(intent);

7.设备进程信息获取

获取设备运行进程

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

List runningAppProcessInfos = am.getRunningAppProcesses();

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。

所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。

如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。以上知识笔记全部免费分享,如有需要获取知识笔记的朋友,可以点击我的GitHub免费领取。

没有看到应有的效果,会气馁是再正常不过的。

所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。

如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。以上知识笔记全部免费分享,如有需要获取知识笔记的朋友,可以点击我的GitHub免费领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值