Android11适配已安装应用列表
之前做过已安装应用列表的适配,最近国内版SDK升级到33和隐私合规遇到很多问题,于是把已安装应用列表记录一下:
1、在Android11及以上的适配:
package com.example.requestinsttallapplistdemo
import android.annotation.SuppressLint
import android.content.Context
import android.content.pm.ApplicationInfo
/**
* @author:njb
* @date: 2023/12/3 20:36
* @desc:描述
**/
object Utils {
/**
* 获取手机已安装应用列表
* @param context
* @return
*/
@SuppressLint("QueryPermissionsNeeded")
fun getAllApps(context: Context): List<String> {
val apps: MutableList<String> = ArrayList()
val packageManager = context.packageManager
// 获取手机内所有应用
val packList = packageManager.getInstalledApplications(0)
var i = 0
val len = packList.size
while (i < len) {
val pak = packList[i]
// if()里的值如果<=0则为自己装的程序,否则为系统工程自带
if (pak.flags and ApplicationInfo.FLAG_SYSTEM <= 0) {
// 添加自己已经安装的应用程序
apps.add(pak.packageName)
}
i++
}
return apps
}
}
2、添加获取所有应用列表权限:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<uses-permission android:name="android.permission.GET_TASKS"/>
3、通过包名查找:
<queries>
<package android:name="com.tencent.mobileqq" />
<package android:name="com.tencent.tim" />
<package android:name="com.tencent.mm"/>
<package android:name="com.tencent.minihd.qq" />
<package android:name="com.tencent.qqlite" />
</queries>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.blowing.demo"
<queries>
<intent>
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="image/png"/>
</intent>
</queries>
</manifest>
4、简单调用:
package com.example.requestinsttallapplistdemo
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initData()
}
private fun initData() {
Utils.getAllApps(this)
}
}
5、实现效果如下:
6、demo源码地址如下:
https://gitee.com/jackning_admin/install–applist-demo
原文地址:https://blog.csdn.net/u012556114/article/details/134770535
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34810.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。