public List<AppInfoVo> getShareApps(Context context) {
PackageManager packageManager = context.getPackageManager();
List<AppInfoVo> appInfoVos = new ArrayList<AppInfoVo>();
List<ResolveInfo> resolveInfos = new ArrayList<ResolveInfo>();
Intent intent = new Intent(Intent.ACTION_SEND, null);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("*/*");
PackageManager pManager = context.getPackageManager();
resolveInfos = pManager.queryIntentActivities(intent, PackageManager
.COMPONENT_ENABLED_STATE_DEFAULT);
for (int i = 0; i < resolveInfos.size(); i++) {
AppInfoVo appInfoVo = new AppInfoVo();
ResolveInfo resolveInfo = resolveInfos.get(i);
appInfoVo.setAppName(resolveInfo.loadLabel(packageManager).toString());
appInfoVo.setIcon(resolveInfo.loadIcon(packageManager));
appInfoVo.setPackageName(resolveInfo.activityInfo.packageName);
appInfoVo.setLauncherName(resolveInfo.activityInfo.name);
appInfoVos.add(appInfoVo);
}
return appInfoVos;
}
public class AppInfoVo {
private Drawable icon;
private String appName;
private String packageName;
private boolean isSystemApp;
private long codesize;
private String launcherName;
public String getLauncherName() {
return launcherName;
}
public void setLauncherName(String launcherName) {
this.launcherName = launcherName;
}
public long getCodesize() {
return codesize;
}
public void setCodesize(long codesize) {
this.codesize = codesize;
}
public Drawable getIcon() {
return icon;
}
public void setIcon(Drawable icon) {
this.icon = icon;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getPackageName() {
return packageName;
}
public void setPackageName(String packageName) {
this.packageName = packageName;
}
public boolean isSystemApp() {
return isSystemApp;
}
public void setSystemApp(boolean isSystemApp) {
this.isSystemApp = isSystemApp;
}
}
Debug一下appInfoVos
例如檢視QQ空間發表視訊的Activity和包名
常見應用包名
微信朋友圈
“com.tencent.mm”
“com.tencent.mm.ui.tools.ShareToTimeLineUI”
微信朋友
“com.tencent.mm”
“com.tencent.mm.ui.tools.ShareImgUI”
QQ好友
“com.tencent.mobileqq”
“com.tencent.mobileqq.activity.JumpActivity”
QQ空間分享視訊
“com.qzone”
“com.qzonex.module.maxvideo.activity.QzonePublishVideoActivity”