私は Android を初めて使用し、共有インテントを使用して画像を共有する際に問題が発生しています。私はたくさんグーグルで検索しましたが、さまざまなことを試しましたが、まだ解決策を見つけることができませんでした.
私のコードは次のとおりです。
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM,uri);
this.startActivityForResult(Intent.createChooser(shareIntent,"Share with"),12);
uri を確認しました。保存されたファイルはビットマップとその戻りファイルです。ただし、共有中に表示される画像は無効です。Gmail は、添付ファイルを添付できなかったことを示しています。メッセージ アプリは画像を読み込めませんでした。
テキスト共有は正常に機能しています。
基本的に私はUnity用のプラグインを書いています。Unity側の私のコードは次のとおりです。
string destination = Path.Combine(Application.persistentDataPath,"sharingImage" + ".png");
if (!File.Exists(destination)) {
print("creating new file");
File.Create(destination);
}
File.WriteAllBytes(destination, bytes);
print("destination= "+destination);
AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" + destination);
using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.kashiftasneem.sharelib.ShareController")) {
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
pluginClass.CallStatic("Share",message,uriObject,jo,gameObject.name,destination);
}
私は目的地とURIを記録しています。それらは次のとおりです。
宛先= /data/data/com.kashiftasneem.shareandroidplugin2/files/sharingImage.png
uri = file:///data/data/com.kashiftasneem.shareandroidplugin2/files/sharingImage.png