点击分享,若手机中多个应用支持android.content.Intent.ACTION_SEND或者android.content.Intent.ACTION_SEND_MULTIPLE,通常系统是通过ChooserActivity或ResolverActivity中来过滤中系统中支持的应用,并以分享列表的形式展示。 如果想要自定义分享列表项,那么需要通过context.getPackageManager().queryIntentActivities获取支持的应用信息列表,然后包名等信息来进行过滤,然后调用ChooserActivity,并传递Intent.EXTRA_INITIAL_INTENTS的值,实现如下: chooserIntent = Intent.createChooser(new Intent(), context.getString(R.string.share_via)); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{})); 下面是分享txt文件时,分享项中过滤掉Drive应用SendTextToClipboardActivity的完整代码: public static Intent buildSendFile(Context context, ArrayList<FileInfo> files) { ArrayList<Uri> uris = new ArrayList<>(); String mimeType = "*/*"; for (FileInfo file : files) { if (file.IsDir) continue; File fileIn = new File(file.filePath); Ur
自定义分享列表项
最新推荐文章于 2022-11-09 15:45:00 发布
本文介绍如何在Android中自定义分享列表项,通过获取支持ACTION_SEND或ACTION_SEND_MULTIPLE的应用列表,过滤特定应用(如Drive的SendTextToClipboardActivity),并使用ChooserActivity展示自定义分享选项。
摘要由CSDN通过智能技术生成