我知道这是一个常见的问题。但是我的问题现在不同了。因此,我创建了一个共享按钮,如果单击该按钮,将打开如下所示的电话号码列表:
因此,当我单击其中之一时,它将立即基于我单击的电话在whats应用程序中打开对话。我使用此代码
val url = "https://api.whatsapp.com/send?phone=62"+tempDatas!![position].custHpWa
val intent = Intent(Intent.ACTION_VIEW);
intent.putExtra(Intent.EXTRA_TEXT,intent.getStringExtra("DESCRIPTION") );
intent.data = Uri.parse(url)
startActivity(intent);
然后将这段用于意图图像的代码添加到对话中
rvListWa!!.addOnItemTouchListener(RecyclerItemClickListener(this@ShareFileActivity,
RecyclerItemClickListener.OnItemClickListener { view, position ->
Glide
.with(this@ShareFileActivity)
.load(baseURLPicasso+intent.getStringExtra("PICTURE"))
.asBitmap()
.into(object : SimpleTarget<Bitmap>() {
override fun onResourceReady(resource: Bitmap?, glideAnimation: GlideAnimation<in Bitmap>?) {
val url = "https://api.whatsapp.com/send?phone=62"+tempDatas!![position].custHpWa
val intent = Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT,intent.getStringExtra("DESCRIPTION") );
val path = MediaStore.Images.Media.insertImage(getContentResolver(), resource, "", null);
val image = Uri.parse(path);
intent.data = Uri.parse(url)
intent.putExtra(Intent.EXTRA_STREAM, image);
intent.setType("image/*");
startActivity(intent);
}
})
}))
而不是根据号码和图像发送公开对话。事实证明,这是打开什么应用程序,然后选择要发送给谁。
有什么解决办法。因为我已经尝试制作Intent.ACTION_VIEW
,所以它将打开图库。
我的图片网址来自数据库
答案 0 :(得分:1)
希望这行得通。只需在路径中传递file变量的文件位置,并确保传递正确的电话号码即可。
val sendIntent = Intent("android.intent.action.SEND")
val f = File("path to the file")
val uri = Uri.fromFile(f)
sendIntent.component = ComponentName("com.whatsapp", "com.whatsapp.ContactPicker")
sendIntent.type = "image"
sendIntent.putExtra(Intent.EXTRA_STREAM, uri)
sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("91**********") + "@s.whatsapp.net")
sendIntent.putExtra(Intent.EXTRA_TEXT, "sample text you want to send along with the image")
startActivity(sendIntent)