問題タブ [android-7.1-nougat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android API 25 で解析不能な日付例外が発生しましたが、22 または 23 では例外が発生しました
アプリを開発し、エミュレーターとデバイスを使用してテストしてきましたが、または今日Api 22 and 23
のデバイスでテストすると、突然次の例外が発生します。API 25
Version 7.1 Nougat
"2017-02-08 18:39:21+00"
次のパターンを使用して日付を解析して"yyyy-MM-dd HH:mm:ssZ"
いますが、これは実行中のエミュレーターでテストするまで正常に機能しており、同じバージョンを実行しているAPI 25
ときに試してみたところ、同じ例外が発生しました。Nexus 6P
次のメソッドは、 で例外が発生する場所API 25
です。私がテストしている他のバージョンでは問題なく動作します。
android - Android: FileProvider を使用した外部ストレージ上のファイルの URI
アプリケーションを Android API 24 に移植しました。アプリケーションはファイルをtest
外部ストレージにあるフォルダーにダウンロードし、ダウンロード後にダウンロード ファイルを開きます。例として、アドレスを持つファイルを考えてみましょう/storage/emulated/0/test/video.mp4
。そのアドレスは、次の構文を使用して作成されます。
インテントを使用してロードする URI を作成するには、この回答の手順を使用しました。これが私のマニフェストのプロバイダータグです(タグ内にネストされていますapplication
):
そして、ここに提供があります/res/xml/provider_paths.xml
:
結局、この構文を使用して URI を作成すると、次のようになります。
結果は uri string になりますcontent://my.package.name.provider/external_files/video.mp4
。
ただし、インテントを使用して URI を開こうとすると、その MIME タイプに関連するアプリケーションでファイルが開かれません (ファイルを確認したところ、ダウンロードされ、ビューアーで問題なく再生/開くことができます)。
を使用して 24 未満のバージョンで完全に機能する場合、URI を開くコードを次に示しますUri.FromFile
。
コメントに基づいて、コードをこれに更新しましたが、状況は変わりません: