1. Konfigurationselemente
Fügen Sie in der Konfigurationsdatei AndroidManifest.xml den folgenden Inhalt hinzu:
<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>
Beachten Sie Folgendes in den oben genannten Konfigurationselementen:
<data android:mimeType="text/plain"/>
Der mimeType kann je nach Bedarf auf andere Werte angepasst werden:
Text/einfach
Bild/PNG
*/*
Warten Sie, listen Sie sie nicht einzeln auf
Zweitens: Java-Implementierung
Mit der oben genannten Konfiguration können Sie es direkt über den Code erhalten:
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;
}
Die erhaltene Sammlung, deren Elemente Beispiele der ResolveInfo-Klasse sind, kann den gewünschten Inhalt über die folgenden Methoden erhalten:
resolveInfo.activityInfo.name //launcher class名称
resolveInfo.activityInfo.packageName //package包名
resolveInfo.loadLable(context.getPackageManager()).toString() //应用名
resolveInfo.loadIcon(context.getPackageManager()) //图标