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