問題タブ [android-12]
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.
android - SparseArray エラー: 呼び出しには API レベル S が必要です
compileSdkVersion を 31 にインクリメントした後 (Android 12)、lint チェックを実行すると、次の問題が発生します。
エラー: 呼び出しには API レベル S が必要です (現在の最小値は 23 です): android.util.SparseArray#set [NewApi]
これをインクリメントした後、誰かが同様の問題を抱えていましたか?なぜそれが発生するのですか?
android - おそらくpathSuffix/pathAdvancedPatternを使用して、API 31にファイル関連付けを提供する公式の方法はありますか?
バックグラウンド
ファイルを処理できることは、最新のデスクトップ OS で非常によく知られている機能であり、ユーザーは「ファイル関連付け」構成として、ファイル マネージャーや他のアプリからファイルを開くことができます。
問題
これまでのところ、Android でファイル タイプの関連付けを設定することは、ユーザーと開発者の両方にとってそれほど便利なことではありませんでした。
Android API 30 (Android 11、別名 Android R) までは、特にファイルが既知のものでない場合、いくつかの奇妙な回避策を使用する必要がありました。
「xyz」の例:
そして、それがZIPファイルなどの既知のものである場合、おそらく次のようなものです(それが最小/最良のものかどうかはわかりません):
実際、既知の方法であっても、最初の方法しか処理しないアプリもあるため、両方の方法を使用することを検討する必要があります。
しかし、Android API 31 (Android 12、AKA Android S) では、それが変更されたようで、マニフェストに書き込むことができる可能性があります (悲しいことに、おそらく最小限の API が 31 の場合のみ)。
私が見つけたもの
これについて私が見つけた唯一のものはドキュメントにあります:
- https://developer.android.com/reference/android/R.attr#pathSuffix
- https://developer.android.com/reference/android/R.attr#pathAdvancedPattern
悲しいことに、私が見つけることができた例はありませんでした。また、現在ファイルを処理するための公式の方法であるかどうかさえわかりません.
質問
- Android でファイルを処理するための真の、有効な、公式の方法は本当に今ですか?
- 今はどう使えばいいの?mimeType を設定する必要はありますか? これは、既知であるかどうかにかかわらず、あらゆる種類のファイルで機能しますか?
- このように設定して、私が言及した方法の使用をやめることは可能ですか? または、これは minSdk を 31 に設定した場合のみですか?
- ユーザーのエクスペリエンスに何らかの影響がありますか?