当我使用intent.ActionSend时,android会显示一个对话框,其中包含发送此内容的所有posibles位置。
我想知道是否可以获取所有应用程序的列表,我可以分享,并且有类似的内容:
List<String> shareoptions --> {com.facebook, com.gmail, com.whatever...}
非常感谢你。
答案 0 :(得分:0)
您可以执行this:
之类的操作List<ResolveInfo> rInfo = getActivity().getPackageManager().queryIntentActivities(createShareIntent(),0);
private Intent createShareIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT,"Text to share");
shareIntent.setType("text/plain");
return shareIntent;
}
List<String> shareoptions = new ArrayList<String> ();
获取包名称列表:
for(ResolveInfo r:rInfo){
String packageName = r.activityInfo.packageName;
// do whatever you want to do here. Populate your own list view
shareoptions.add(packageName);
}