写真を撮ってInstagramアプリに共有する機能を備えたAndroid用アプリを開発しています。アプリがカメラを開き、写真を撮り、Instagram アプリを開いて [写真のトリミング] ウィンドウをアクティブにします。画像を読み込んでいるようですが、数秒後にアプリがクラッシュし、画像が読み込まれたことがわかりません。
Appcelerators Titanium プラットフォーム上でアプリを開発していますが、私の問題は Titanium に関連しているとは思いませんが、イメージを渡す方法です。
エミュレーターには Instagram アプリがないため、Galaxy S4 で開発しています。adb を介して logcat を実行して、何らかのエラー メッセージを取得しようとしましたが、Instagram が終了したことに気付くだけです。
これが私のコードです。何が間違っているのでしょうか? 画像がファイルシステムに保存されていることを確認しました。
Ti.Media.showCamera({
success: function(event) {
var file = Ti.Filesystem.getFile(Ti.Filesystem.tempDirectory,"ggs-instagram.jpg");
file.write(event.media);
var instaIntent = Ti.Android.createIntent({
action: Ti.Android.ACTION_SEND,
packageName: "com.instagram.android",
type: 'image/jpeg'
});
/*instaIntent.putExtra(Ti.Android.EXTRA_TEXT, "EXTRA_TEXT");
instaIntent.putExtra(Ti.Android.EXTRA_SUBJECT, "EXTRA_SUBJECT");*/
instaIntent.putExtra(Ti.Android.EXTRA_STREAM, file.getNativePath());
Ti.Android.currentActivity.startActivity(instaIntent);
},
cancel: function() {},
error: function (error) {
if (error.code == Ti.Media.NO_CAMERA) {
alert("Din telefon/platta har ingen kamera!");
} else {
alert("Kamerafel!");
}
},
mediaTypes: [Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_PHOTO],
showControls: false,
autohide: false,
saveToPhotoGallery: true
});