4

写真を撮って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
}); 
4