問題タブ [android-api-30]
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 - Android 11 の SecurityException
Android 10および以前のバージョンで正常に実行されていたAndroid APKですが、Android 11では、Google Playストアからダウンロードするとすぐにアプリがクラッシュし、スプラッシュ画面のみが表示され、その後自動的にアプリがクラッシュします
次の許可マニフェストを与えました:カメラ、場所、ストレージ、電話
しかし、それはセキュリティ例外をスローします:
アプリがすぐにクラッシュするため、さらにデバッグすることもできません
android - Android API30 でスクリーンショットを保存する方法
画像を Android ストレージに保存しようとしていますが、かなりうまく機能しますが、許可のダイアログが表示されると少し壊れます。
API 30 でアクセス許可を拒否すると、再度要求されることはありませんが、下位ではうまく機能します。
これが私のマニフェストです
私のアクティビティには、画像を保存するボタンがあり、このコードがあります
そして、ボタンをクリックすると、これを呼び出しますupdateOrRequestPermissions
。私は何が欠けていますか?
android - SQLite データベース アクセス / API 30
Google Play でアプリを更新したいのですが、アプリを更新するには API レベル 30 をターゲットにする必要があると思います。
アプリは、実際には SQLiteDatabase インスタンスであるドキュメントを読み書きします。これらのドキュメントは、SD カードまたは内部ストレージに保存されます。
アプリの現在のバージョン: https://github.com/EricTerrell/Vault3.Android
現在、アプリは API レベル 29 を対象としており、requestLegacyExternalStorage="true" 設定に依存しています。さらに、READ_EXTERNAL_STORAGE および WRITE_EXTERNAL_STORAGE パーミッションをアサートします。
https://github.com/EricTerrell/Vault3.Android/blob/main/app/src/main/AndroidManifest.xml#L7-L16
ACTION_OPEN_DOCUMENT_TREE および ACTION_OPEN_DOCUMENT UI を使用して、ドキュメントのフォルダーを指定し、特定のドキュメントを開く実験を行いました。
私の問題は、これらの UI がファイル パスではなく Uri を返すことです。アプリがパスではなくファイル Uri を使用して SQLiteDatabase データベースを開くことができるかどうかはわかりません。
Uri をファイル パスに変換する方法に関するいくつかの投稿を読みました。決定的なものは何も見つかりませんでした。Google はファイル Uris を不透明に保とうとしているようです。
また、ファイル Uri を指定して SQLiteDatabase を開く方法が見つかりませんでした。
https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase?hl=en
ドキュメントはデスクトップ アプリと Android モバイル アプリによって読み書きされるため、ファイル形式は実際には変更できません。
どんなアドバイスでも大歓迎です!ファイルUriを指定してSQLiteDatabasesを開く方法があれば、それで問題は解決します。
エリック・バーグマン・テレル