我正在为Android应用中的共享内容使用以下代码,该代码正适当地适用于Android7。 在棉花糖(6.0.1)中不起作用。请建议。
shareNow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
String shareBody = Constants.SHARE_TEXT + refer_code;
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "Share");
sharingIntent.putExtra(Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Share via"));
} catch (Exception e) {
ShowToastMsg.showToast(getActivity(), "Error Occured");
}
}
});
可能是由于运行时许可。Android 棉花糖需要运行时许可以访问设备中存储的图像文件。因此,您需要在代码中授予运行时许可。
因此,请确保您提供所需的前提,例如 read_external_storage 和 write_external_storage ,请在提出请求之前小心。如果您不想处理权限部分,则可以做到这一点。
// Provide read access
shareIntent.setData(uriToImage);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
有一个详细的指南如何使用新功能。链接
请访问https://developer.android.com/training/permissions/requesting.html
注意:您也可以在此处使用直接共享是教程。
我一次遇到了这个问题,
我添加了flag flag_activitivitivitivity_new_task ,而且效果很好。
希望它对您有用。
注意:签署APK后我遇到了该错误,因此您可以在签署APK后检查。