안녕하세요 evrybody 나는 메신저에서 이미지를 공유하려고 노력하고 있지만 내 코드가 작동하지 않는 이유를 모르겠다. 공식 가이드를 따라 갔다. https://developers.facebook.com/docs/messenger/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);**/
}
필자는 파일 테스트 작업을 수행했는지 확인했습니다. 테스트에서 메신저에서 다음과 같은 오류 메시지가 나타납니다. "죄송합니다. 메신저가 파일을 처리 할 수 없습니다." 어떻게 해결할 수 있습니까?
전화'플러시()','getFD() 동기화()'와'후'FileOutputStream'에') (가깝습니다. 'write()'. 언젠가'targetSdkVersion'을 24 이상으로 설정하면 안드로이드 7.0 이상의 장치에서 fromFile()이 작동하지 않기 때문에'Uri.fromFile()'대신'FileProvider'를 사용하게됩니다. 모든 앱이 같은'ACTION_SEND''Intent'에서'EXTRA_TEXT'와'EXTRA_STREAM'을 모두 지원하지는 않습니다. 'setPackage()'를 제거하면 [사용자가 원하는 곳을 공유 할 수 있습니다] (https://commonsware.com/blog/2011/06/28/share-where-the-user-wants.html). – CommonsWare
write() 후에'FileOutputStream'에서'flush()','getFD(). sync()'및'close()'를 호출했으나 여전히 작동하지 않습니다. 또한'EXTRA_TEXT'도 제거했습니다. – Rachid