Открыть разговор по нажатому номеру, а затем настроить изображение - PullRequest
0 голосов
/ 21 ноября 2018

Я знаю, что это общий вопрос, который был задан.Но моя проблема сейчас другая.Поэтому я создаю кнопку «Поделиться», которая, если я нажму ее, откроет список телефонных номеров, как показано ниже:

List of phone number

Поэтому, когда я нажимаю на одну из них, онанемедленно откроет разговор в базе приложения 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);


                            }

                        })
            }))

Вместо того, чтобы открывать базу разговора по номеру и отправлять изображение.Оказывается, откройте приложение Whats и выберите, кому мы хотим его отправить.

Есть ли какое-либо решение.Поскольку я уже пытаюсь сделать Intent.ACTION_VIEW, он откроет галерею.

URL моего изображения из базы данных

1 Ответ

0 голосов
/ 21 ноября 2018

Надеюсь, это работает.Просто укажите путь к файлу и укажите переменную файла.

    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)
...