分享功能不起作用



我为共享操作编写了这段代码。

我希望它共享文本+位图。

它不会给我一个错误 - 它只是不做任何事情。

case R.id.share:
            int  myinfoPos = info.position;
            Movie myMovie= myMovies.get(myinfoPos);
            int myMovieID=myMovie.id;
            DBCommands db = new DBCommands(con);
            Cursor c = db.getmovieById(myMovieID);
            String text = c.getString(c.getColumnIndex(DBConstants.SUBJECT));
            String getBit = c.getString(c.getColumnIndex(DBConstants.PHOTOENCODE));
            Bitmap myBitmapAgain = db.decodeBase64(getBit);
            //Uri pictureUri = db.decodeBase64(myBitmapAgain);
            Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.putExtra(Intent.EXTRA_TEXT, text);
            shareIntent.putExtra(Intent.EXTRA_STREAM, myBitmapAgain);
            shareIntent.setType("image/*");
            shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            con.startActivity(Intent.createChooser(shareIntent, "Share images..."));

提前谢谢你。

首先,不需要ACTION_SEND Activity同时支持 EXTRA_TEXTEXTRA_STREAM 。文档表明您可以包含这两个附加内容之一(" get*Extra 可以有一个EXTRA_TEXT或EXTRA_STREAM字段,其中包含要发送的数据")。

其次,EXTRA_STREAM被记录为:

内容:包含与意图关联的数据流的 URI,与ACTION_SEND一起使用以提供正在发送的数据。

您没有提供Uri。您正在提供Bitmap .您需要创建一个ContentProvider来提供此Bitmap,或者将其写入文件并使用FileProvider

相关内容

最新更新