您好evrybody我正在tryng,分享使者的形象,但我不知道为什么我的代码doesen't的工作,我已经按照官方指导,https://developers.facebook.com/docs/messenger/android 有人可以告诉我为什么doese'nt工作?的Android,如何共享图像文件与信使
public void sendMessage(){
Bitmap adv= takePic(HomeActivity.livelloCurrent.getNumeroLivello());
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
adv.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
File f = new File(Environment.getExternalStorageDirectory()+ File.separator + "temporary_file.jpg");
try {
f.createNewFile();
new FileOutputStream(f).write(bytes.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
String mimeType = "image/jpeg";
Intent sendIntent = new Intent();
sendIntent.setType(mimeType);
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg"));
sendIntent.putExtra(Intent.EXTRA_TEXT, "<---MY TEXT--->.");
sendIntent.setPackage("com.facebook.orca");
try {
startActivity(sendIntent);
}
catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(getApplicationContext(),"Please Install Facebook Messenger", Toast.LENGTH_LONG).show();
}
/** //withSDK-->// ShareToMessengerParams shareToMessengerParams = ShareToMessengerParams.newBuilder(ContentUri, mimeType).build();
MessengerUtils.shareToMessenger(this, REQUEST_CODE_SHARE_TO_MESSENGER, shareToMessengerParams);**/
}
我确定文件创建工作导致我测试了它。在测试中,我从Messenger中得到以下错误“对不起,Messenger无法处理文件”。我如何解决?
呼叫'平齐()','getFD()同步()','和关闭后()'上'FileOutputStream'。 '写()'。有一天,使用'FileProvider'而不是'Uri.fromFile()',因为'fromFile()'在你的'targetSdkVersion'设置为24或更高的时候不适用于Android 7.0+设备。请注意,并非所有应用都支持*'EXTRA_TEXT'和'EXTRA_STREAM'在同一个“ACTION_SEND”'Intent'上。并摆脱'setPackage()',所以你可以[分享用户想要的](https://commonsware.com/blog/2011/06/28/share-where-the-user-wants.html)。 – CommonsWare
在write()之后,我在'FileOutputStream'上调用了'flush()','getFD()。sync()'和'close()',但仍然不起作用,我也删除了'EXTRA_TEXT' – Rachid