次はInstagram's video sharing Android Intentです。 ChooserをバイパスしてInstagramを直接起動するための簡単な編集。関連コードとadb出力のSee Gist。Instagramさんのビデオ共有Androidの意図
Kit Katデバイスは意図したとおりに動作しますが、NougatデバイスはInstagramがインストールされていないかのようにPlayストアを起動するLine#20になります。
両方のデバイスで、ShareDialogのstartInstagram()の行番号14は、Instagramを含むビデオ共有可能なアプリケーションのセレクタを表示します。
この同じアプローチで画像を共有するための関連コードは、両方のデバイスで意図したとおりに動作します。
UPDATE 1:新しいContentProviderアプローチを実装すると、共有インテントを起動するとInstagramがクラッシュします。別のソーシャルネットワークにビデオを共有してテストすることで、それが機能するかどうかを確認します。
UPDATE 2:Instagramのは
share.setDataAndType(contentUri, "video/*");
で素晴らしいプレーしませんが判明。
これらを別々に設定する場合は、すべてを正常に実行してください。 FileUriExposedException
あるように思われる
share.setType("video/*"); share.putExtra(Intent.EXTRA_STREAM, contentUri);
Android 7.0で取得した「例外」を見たとき、何を学びましたか? – CommonsWare
'E/ShareDialog:e.getLocalizedMessage >> file:///storage/emulated/0/870_90.mp4 ClipData.Item.getUri()によってアプリケーションを超えて公開 E/ShareDialog:e.getCause >> null' – es0329