共享失败,在api 23中,仅对whatsapp失败,从选择器中选择了whatsapp后,它返回到共享器页面 [英] sharing failed, in api 23, only failed is for whatsapp, after selecting whatsapp from chooser, it returns back to sharer page

查看:194
本文介绍了共享失败,在api 23中,仅对whatsapp失败,从选择器中选择了whatsapp后,它返回到共享器页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

除了whatsapp之外,我的应用程序正在与所有其他应用程序共享内容,例如远足视频群聊邮件,Messenger等。
我的编译sdk和目标sdk是23

except whatsapp, my app is sharing content to all other application like hike hangout mail, messenger etc.. my compile sdk and target sdk is 23

这是我的代码

if (url.startsWith("share://")) {
            Intent share = new Intent(Intent.ACTION_SEND);
            Uri requestUrl = Uri.parse(url);
            String pContent = requestUrl.toString().split("share://")[1];
            String pasteData = pContent+"";
            share.setAction(Intent.ACTION_SEND);
            share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            Toast toast=Toast.makeText(getApplicationContext(),pasteData, Toast.LENGTH_LONG);
            toast.setMargin(50,50);
            toast.show();
            StringBuilder sb = new StringBuilder();
            String [] parts = pasteData.split("<br />");
            for (int i = 0; i < parts.length; i++) {
                String part = parts[i];
                sb.append(part);
                sb.append('\n');
            }
            share.putExtra(android.content.Intent.EXTRA_TEXT, (Serializable) sb);
            share.setType("*/*");
            startActivity(Intent.createChooser(share, "Share On"));
            return true;

让我清楚,此代码对所有其他应用程序都有效(共享内容),但不适用于whatsapp

let me clear, this code is working (sharing content) fine for all other application but not in whatsapp

我的logcat错误

    07-29 12:13:20.068 560-578/? I/ActivityManager: Displayed android/com.android.internal.app.ChooserActivity: +392ms (total +21s340ms)
07-29 12:13:29.337 560-1486/? I/ActivityManager: START u0 {act=android.intent.action.SEND typ=*/* flg=0xb080001 cmp=com.whatsapp/.ContactPicker clip={*/* T: first line content 
                                                  second line content 
                                                  thired line content
                                                  fourth line content
                                                 } (has extras)} from uid 10281 on display 0
07-29 12:13:29.609 9651-9674/com.example.app I/MaliEGL: [Mali]window_type=1, is_framebuffer=0, errnum = 0
07-29 12:13:29.609 9651-9674/com.example.app I/MaliEGL: [Mali]surface->num_buffers=4, surface->num_frames=3, win_min_undequeued=1
07-29 12:13:29.609 9651-9674/com.example.app I/MaliEGL: [Mali]max_allowed_dequeued_buffers=3
07-29 12:13:29.678 30472-30703/? I/MaliEGL: [Mali]window_type=1, is_framebuffer=0, errnum = 0
07-29 12:13:29.678 30472-30703/? I/MaliEGL: [Mali]surface->num_buffers=4, surface->num_frames=3, win_min_undequeued=1
07-29 12:13:29.678 30472-30703/? I/MaliEGL: [Mali]max_allowed_dequeued_buffers=3
07-29 12:13:29.684 560-572/? I/memtrack_graphic: graphic_memtrack_get_memory match 4:      ion_mm_heap 30448  7864320  11 c3f0dc40 de902b00
                                                  : 30448 30448 7864320 11 714938
07-29 12:13:29.716 560-569/? I/art: Background partial concurrent mark sweep GC freed 60007(3MB) AllocSpace objects, 5(100KB) LOS objects, 33% free, 28MB/42MB, paused 2.514ms total 199.165ms
07-29 12:13:37.046 21901-22266/? I/ClearcutLoggerApiImpl: disconnect managed GoogleApiClient


推荐答案

我刚刚得到了答案
i刚刚更改

i just got the answer i just changed

share.setType("text/plain");

代替 share.setType( * / *);

完整代码如下

if(url.startsWith( share://)){{
Uri requestUrl = Uri.parse(url);
字符串pContent = requestUrl.toString()。split( share://)[1];
// pContent = firstWord< br /> secondWord< br /> ThirdWord
Toast toast = Toast.makeText(getApplicationContext(),pContent,Toast.LENGTH_LONG);
toast.setMargin(50,50);
toast.show();
StringBuilder sb = new StringBuilder();
String [] parts = pContent.split(< br />);
for(int i = 0; i 字符串part = parts [i];
sb.append(part);
sb.append(’\n’);
}
意向份额=新意向(Intent.ACTION_SEND);
share.setAction(Intent.ACTION_SEND);
share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
share.putExtra(android.content.Intent.EXTRA_TEXT,(可序列化)sb);
share.setType( text / plain);
startActivity(Intent.createChooser(share, Share On));
返回true;

这篇关于共享失败,在api 23中,仅对whatsapp失败,从选择器中选择了whatsapp后,它返回到共享器页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆