1

当我使用 intent.ActionSend 时,android 会显示一个对话框,其中包含发送此内容的所有可能位置。

安卓分享列表

我想知道是否可以获取所有应用程序的列表,我可以在其中共享,并具有以下内容:

List<String> shareoptions --> {com.facebook, com.gmail, com.whatever...}

非常感谢您。

4

1 回答 1

0

你可以这样

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);
}
于 2013-08-15T18:14:04.607 回答