- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
除 whatsapp 外,我的应用程序正在将内容共享到所有其他应用程序,如远足环聊邮件、信使等。我的编译sdk和目标sdk是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
我的 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
最佳答案
我刚刚得到答案我刚刚改变了
share.setType("text/plain");
而不是 share.setType("*/*");
完整代码如下
if (url.startsWith("share://")) {
Uri requestUrl = Uri.parse(url);
String 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 < parts.length; i++) {
String part = parts[i];
sb.append(part);
sb.append('\n');
}
Intent share = new Intent(Intent.ACTION_SEND);
share.setAction(Intent.ACTION_SEND);
share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
share.putExtra(android.content.Intent.EXTRA_TEXT, (Serializable) sb);
share.setType("text/plain");
startActivity(Intent.createChooser(share, "Share On"));
return true;
关于android - 分享失败,在 api 23 中,只有 whatsapp 失败,从选择器中选择 whatsapp 后,它返回到分享者页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38652257/
我是一名优秀的程序员,十分优秀!