[英]How to share screenshot of libgdx game score in whatsapp and facebook?
[英]How to create a share button for whatsapp, facebook or others app installed in my phone
我正在開發一個應用程序,我想將 TEXT 和 IMAGE 分享給我手機上安裝的其他應用程序。 但是,當我單擊共享按鈕時,它既不共享 TEXT 也不共享 IMAGE 只是清空它,它會將我定向到我選擇共享的另一個應用程序。 下面postDescription和postImage是我的 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.