使用uniapp获取手机安装的所有应用APP包名
使用uniapp获取手机安装的所有应用APP包名和APP应用名称,获取到了这些信息,就可以使用adb卸载一些不常用的APP。
<template>
<view class="content">
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
const main = plus.android.runtimeMainActivity();
let pManager = plus.android.invoke(main, 'getPackageManager');
let pInfo = plus.android.invoke(pManager, 'getInstalledPackages', 0);
let total = plus.android.invoke(pInfo, 'size');
let packName = '';
let appName = '';
let obj = null;
// 遍历获取包名和应用名称
var arr = []
for (let i = 0; i < total; i++) {
// 获取包名
packName = plus.android.getAttribute(plus.android.invoke(pInfo, 'get', i), 'packageName');
// 获取包名对应的应用名
obj = plus.android.invoke(pManager, 'getApplicationInfo', packName, 0);
appName = plus.android.invoke(pManager, 'getApplicationLabel', obj);
console.log(packName, appName);
arr.push({
appName: appName,
packName: packName
})
if (i == total - 1) {
uni.hideLoading()
}
}
},
methods: {
}
}
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>
将APP运行到真机,可以在控制台看到打印的APP包名和APP应用名称。