簡體   English   中英

如何為我的手機中安裝的 whatsapp、facebook 或其他應用程序創建共享按鈕

[英]How to create a share button for whatsapp, facebook or others app installed in my phone

我正在開發一個應用程序,我想將 TEXT 和 IMAGE 分享給我手機上安裝的其他應用程序。 但是,當我單擊共享按鈕時,它既不共享 TEXT 也不共享 IMAGE 只是清空它,它會將我定向到我選擇共享的另一個應用程序。 下面postDescriptionpostImage是我的 model class 的方法,我檢查了我得到的值不是在吐司中,它正確地給出了值。

下面是代碼:

    Intent shareIntent = new Intent(Intent.ACTION_SEND);
                shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
                shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                shareIntent.setType("image/*");
                shareIntent.putExtra(Intent.EXTRA_TEXT, postDescription);

                Uri uri = Uri.parse(postImage);
                shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
                context.startActivity(Intent.createChooser(shareIntent, "Share With"));

所以上面的一堆代碼不起作用,然后我找到了代碼,通過它我可以只將我的帖子 TEXT 和 IMAGE 分享給 WhatsApp,我試過了,但它顯示 WhatsApp不支持文件格式

以下是僅分享給 WhatsApp 的代碼:

  Uri imgUri = Uri.parse(postImage);
            Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
            whatsappIntent.setType("text/plain");
            whatsappIntent.setPackage("com.whatsapp");
            whatsappIntent.putExtra(Intent.EXTRA_TEXT, postDescription );
            whatsappIntent.putExtra(Intent.EXTRA_STREAM, imgUri);
            whatsappIntent.setType("image/jpeg");
            whatsappIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

            try {
                context.startActivity(whatsappIntent);
            } catch (android.content.ActivityNotFoundException ex) {

                Toast.makeText(context, "Whatsapp have not been installed.", Toast.LENGTH_SHORT).show();
            }

我想知道如何創建一個適用於 WhatsApp 和所有內容的共享按鈕,或者只有 WhatsApp 才能為我完成工作。

通過從 Intent 中刪除 package,Android 應該顯示可以處理 Intent 類型的應用程序列表。

Uri imgUri = Uri.parse(postImage); //Provide the URI to the downloaded image, not an external URL
Intent whatsappIntent = new Intent(Intent.ACTION_SEND);
whatsappIntent.setType("*/*");
whatsappIntent.putExtra(Intent.EXTRA_TEXT, postDescription );
whatsappIntent.putExtra(Intent.EXTRA_STREAM, imgUri);
if (whatsappIntent.resolveActivity(packageManager) != null) {
    startActivity(whatsappIntent)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM