共享失败,在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
问题描述
除了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
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屋!