安卓Android开发:获取手机上可分享的应用列表
Posted 女儿控伪全栈老徐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓Android开发:获取手机上可分享的应用列表相关的知识,希望对你有一定的参考价值。
一、配置项
在androidManifest.xml配置文件中,增加以下内容:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
//...
<queries>
<intent>
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
//...
</manifest>
注意上述配置项中的以下内容:
<data android:mimeType="text/plain"/>
其中的mimeType可以视情况调整为其它值:
text/plain
image/png
*/*
等,不逐一列举
二、Java实现
有了前述配置,就可以直接通过代码来获取了:
public List<ResolveInfo> getShareApps(Context context)
List<ResolveInfo> mApps = new ArrayList<ResolveInfo>();
Intent intent = new Intent(Intent.ACTION_SEND, null);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("text/plain");
PackageManager pManager = context.getPackageManager();
mApps = pManager.queryIntentActivities(intent,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
return mApps;
获取到的集合,其中的元素都是类ResolveInfo的示例,可以通过以下方法来获取想要的内容:
resolveInfo.activityInfo.name //launcher class名称
resolveInfo.activityInfo.packageName //package包名
resolveInfo.loadLable(context.getPackageManager()).toString() //应用名
resolveInfo.loadIcon(context.getPackageManager()) //图标
以上是关于安卓Android开发:获取手机上可分享的应用列表的主要内容,如果未能解决你的问题,请参考以下文章