問題タブ [android-11]

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.

0 投票する
5 に答える
57997 参照

java - requestLegacyExternalStorage が Android 11 で機能しない - API 30

Google は最近、スコープ ストレージなどの API 29 のストレージ API に関連するいくつかの変更を導入しました。しかし、SdkVersion 30 をターゲットにすると、これは機能しなくなったようです。この変更後、ダウンロード ディレクトリ内の一部のファイルが一覧表示されませんでした (File.listFiles)。

0 投票する
2 に答える
440 参照

android - バックグラウンドでスケジュールされたジョブとアラームがキャンセルされる原因となる 1 回限りのアクセス許可

Android SDK を開発し、Android 11 Beta のテスト中に、まだ報告されていないように見える問題を発見しました。

Android 11 では、場所、マイク、カメラのアクセス許可に対して、新しい 1 回限りのアクセス許可が導入されました。このオプションを使用すると、ユーザーがアプリケーションを離れるとすぐに、権限が取り消されます (詳細については、こちらを参照してください)。

問題は、アプリがフォアグラウンドでなくなってからしばらくすると (アプリを強制終了する必要はありません。最小化するだけで十分です)、アプリが強制されたかのように、将来スケジュールされたすべてのアラームまたはジョブが削除されることです。殺された。これは、このレベルの権限でのみ発生します。他のレベルを拒否または提供すると、以前にスケジュールされたアラームまたはジョブが期待どおりに維持されます。これはベータ 3 ビルドで、RPB3.200720.005 ビルド番号の Pixel 2 エミュレーターで再現されています。このリポジトリでは、バグを再現するためのサンプル アプリを見つけることができます。

この 1 つのアクティビティ アプリは、次の 5 分でアラームを鳴らし、5 ~ 6 分の間にトリガーするジョブをスケジュールします。画面には 3 つのボタンがあり、それぞれが対応する許可要求をトリガーします。JobService クラスと BroadcastReceiver クラスは、トリガーされたことのみをログに記録します。この状況は、次の手順の後に再現できます。

  1. アプリが開始されるたびに、両方を実行adb shell dumpsys alarm | grep com.example.permissions.appadb shell dumpsys jobscheduler | grep com.example.permissions.appて、アラームとジョブの両方がスケジュールされていることを確認できます。
  2. いずれかのボタンをクリックして、1 回限りのアクセス許可レベルを付与します。
  3. アプリを最小化します (ホーム画面に移動するか、他のアプリを開くことができます);
  4. 約 1 分後、 と の両方adb shell dumpsys alarm | grep com.example.permissions.appを実行しadb shell dumpsys jobscheduler | grep com.example.permissions.appます。アラームとジョブは表示されなくなります。
  5. ジョブとアラームの両方の元のスケジュールされた時間 (システムの遅延を考慮して) を待機すると、それらがトリガーされないことが示されます。

同様の状況に遭遇した人はいますか?私たちの推測では、1 回限りのアクセス許可を取り消すために、これらの副作用を引き起こしている何らかの方法でアプリ プロセスが強制終了されています。また、 Android Issue Trackerに問題を提出しました。Google が回答した場合は、この投稿を更新し続けます。

0 投票する
1 に答える
195 参照

android - Android Q (10) でアプリの内部ストレージから電話のダウンロード ディレクトリにファイルを移動するにはどうすればよいですか?

現在は廃止されているようgetExternalStoragePublicDirectory()ですので、代替手段が必要です。

foo.pngアプリの内部ストレージにファイルがあるとします。このファイルに簡単にアクセスできます

私の問題は、このファイルをユーザーのダウンロード ディレクトリに移動して、電話で表示できるようにすることです。

この回答は を使用していDownloadManagerます。残念ながら、これは私が自分で生成した画像であり、どこかからダウンロードしたものではありません。