当我使用 intent.ActionSend 时,android 会显示一个对话框,其中包含发送此内容的所有可能位置。
我想知道是否可以获取所有应用程序的列表,我可以在其中共享,并具有以下内容:
List<String> shareoptions --> {com.facebook, com.gmail, com.whatever...}
非常感谢您。
当我使用 intent.ActionSend 时,android 会显示一个对话框,其中包含发送此内容的所有可能位置。
我想知道是否可以获取所有应用程序的列表,我可以在其中共享,并具有以下内容:
List<String> shareoptions --> {com.facebook, com.gmail, com.whatever...}
非常感谢您。
你可以这样做:
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);
}