gpt4 book ai didi

java - 尝试通过 ShareAction Provider 共享图像时 Whatsapp 崩溃

转载 作者:行者123 更新时间:2023-12-02 11:12:00 27 4
gpt4 key购买 nike

因此,我首先从可绘制文件夹中获取图像,然后尝试通过 ShareActionProvider 共享相同的图像,但 Whatsapp(或任何其他应用程序)不断崩溃。它成功发送文本,但未发送图像。图片为PNG 格式。

这是我的菜单 XML 布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.example.android.shareactivity.ShareActivity">

<item
android:title="share"
android:id="@+id/action_share"
android:orderInCategory="2"
app:showAsAction="always"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
/>
</menu>

这是我的 ShareActionProvider 实现

public class Sharing extends AppCompatActivity {

private ShareActionProvider mShareActionProvider;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sharing);
}

public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
//Share Action Provider
MenuItem menuItem = menu.findItem(R.id.action_share);
mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);

if(mShareActionProvider!=null) {

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
sharingIntent.setType("image/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, R.drawable.untitled);

// sharingIntent.setType("text/*");
// sharingIntent.putExtra(Intent.EXTRA_TEXT,"Hello World");
mShareActionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
mShareActionProvider.setShareIntent(sharingIntent);
}

return true;
}
}

最佳答案

问题出在这一行

sharingIntent.putExtra(Intent.EXTRA_STREAM, R.drawable.untitled);

您不能将包内的可绘制对象传递给任何其他应用程序,您必须将其以 png 或 jpg 格式写入磁盘,然后将该文件的路径共享到 Whatsapp。

如果您的 targetSdkVersion 为 24 或更高,您将必须使用文件提供程序与任何其他应用程序共享您的文件

关于java - 尝试通过 ShareAction Provider 共享图像时 Whatsapp 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50550762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com