Android 如何扩展图像共享图标?

Android 如何扩展图像共享图标?,android,Android,我使用包管理器将意图发送到我想要交付的内容。所以我举了一些例子。但是当我运行这个程序时,许多包被排除在外。我必须知道所有的包裹,但它不知道。如何得到所有的包裹 private fun getImageShareIntent(name: String,data: Uri): Intent? { var found = false val intent = Intent(Intent.ACTION_SEND) intent.type = "im

我使用包管理器将意图发送到我想要交付的内容。所以我举了一些例子。但是当我运行这个程序时,许多包被排除在外。我必须知道所有的包裹,但它不知道。如何得到所有的包裹

   private fun getImageShareIntent(name: String,data: Uri): Intent? {
        var found = false
        val intent = Intent(Intent.ACTION_SEND)
        intent.type =  "image/*"
        intent.data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
        val resInfos = packageManager.queryIntentActivities(intent, 0)
        if (resInfos == null || resInfos.size === 0) return null
        for (info in resInfos) {
            Log.d("TAG","info.activityInfo.packageName : "+info.activityInfo.packageName)
            if (info.activityInfo.packageName.contains(name)) {
                //  Log.d("TAG","info.activityInfo.packageName : "+info.activityInfo.packageName)
                intent.run {
                    putExtra(Intent.EXTRA_STREAM,data )
                    setPackage(info.activityInfo.packageName)
                }
                found = true
                break
            }
        }
        Log.d("TAG","//////////////////////////////")
        return if (found) intent else null
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        when(requestCode){
            1000-> {
                if (resultCode == -1) {

                    targetedShareIntents.clear()
                    for (i: Int in 0 until targetList.size) {
                        getImageShareIntent(targetList.get(i), data?.data!!)?.let {
                            targetedShareIntents.add(it);
                        }
                    }

                    val shareIntent = Intent.createChooser(targetedShareIntents.removeAt(0), "Title")
                    shareIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toTypedArray<Parcelable>())
                    startActivity(shareIntent)
                }
            }
        }
    }
删除:

intent.data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
ACTION\u SEND
不使用
意图的
数据方面

intent.data = MediaStore.Images.Media.EXTERNAL_CONTENT_URI