1

Android4.2 では、新しい属性multi-userがありました。

メディアをダウンロードすると、ファイルパスに問題があることがわかりました。

例:

画像形式の Web サイトをダウンロードするとき、この行は有用なログ情報でした。

I/DownloadThread( 1306): mInfo.mHint = file:///storage/emulated/0/Download/girl.jpg

ただし、 /storage/emulated/の下に0ディレクトリが見つかりませんadb shellを使用します

つまり、このパス/storage/emulated/0/Download/girl.jpgを C/C++ の open 関数で使用することはできません

ステップバイステップのAndroidダウンロードファイル:

  1. ブラウザーは、ダウンロードに必要なものに関する情報を取得します (DownloadHandler.java)
  2. ブラウザー トリガー DownloadManagerService は、情報をdownloads.dbに挿入します。
  3. downloads.dbが変更されると、ファイルをダウンロードするための新しい Downloadthread が作成されます。

質問:

  1. /storage/emulated/0/ディレクトリが存在するのはなぜですか (マルチユーザーですか?)、adb shellで見つけることができるのはなぜですか?
  2. /storage/sdcard0//storage/sdcard1/ではなく/storage/emulated /0/です。なぜですか?
  3. 異なるブランチを持つ Android4.1 VS Android4.2 Environment.UserEnvironment(int userId)(Environment.java)

ありがとう

曹鵬

4

0 に答える 0