回答編集履歴
2
USB接続の方法による違いについて追記
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
> 逆にOpenFileDialogを使用して、Androidアプリで作成したファイルをコピーすることはできたのですが、その逆はできないのでしょうか?
|
2
2
|
|
3
|
-
残念ですが、この場合はできないと言って差し支えないです。
|
3
|
+
~~残念ですが、この場合はできないと言って差し支えないです。~~
|
4
4
|
|
5
|
-
お使いのAndroid端末のAndroidバージョンや製品によってある程度の違いはあるかもしれませんが、Android端末をWindowsにUSB接続したときのファイルシステムのせいだと考えられます。以下の画像は私の手持ちのAndroid端末(ASUS A007 /Android 6.0.1)をWindows 10 PCに接続して、内部ストレージを表示したものです。
|
5
|
+
お使いのAndroid端末のAndroidバージョンや製品によってある程度の違いはあるかもしれませんが、Android端末をWindowsにUSB接続したときのファイルシステムのせいだと考えられます。(**※USB接続の仕方によるようです。追記部分をご覧ください)**以下の画像は私の手持ちのAndroid端末(ASUS A007 /Android 6.0.1)をWindows 10 PCに接続して、内部ストレージを表示したものです。
|
6
6
|
|
7
7
|

|
8
8
|
|
@@ -14,4 +14,13 @@
|
|
14
14
|
|
15
15
|
これはできないと思ってください。Android端末によりますがUSBメモリーを接続すると外部ストレージとして使えるものがあります。これはUSBの「マスストレージ」として認識できるようになっている為で、PCが持っているディスクを外部ストレージをしてみせるのは、USB接続をしたときにPC側がマスストレージとしてふるまう必要があります。過去に以下のような製品がありましたが、こういったものを使えばお望みの動作ができる可能性があります。※反対に言えば、一般的にはできない動作、と言うことです。
|
16
16
|
|
17
|
-
[PCをUSBマスストレージデバイスにするケーブル発売 - AKIBA PC Hotline 2011年1月15日号](https://akiba-pc.watch.impress.co.jp/hotline/20110115/etc_usbl.html)
|
17
|
+
[PCをUSBマスストレージデバイスにするケーブル発売 - AKIBA PC Hotline 2011年1月15日号](https://akiba-pc.watch.impress.co.jp/hotline/20110115/etc_usbl.html)
|
18
|
+
|
19
|
+
---
|
20
|
+
**追記しました: 2020-01-25 19:58**
|
21
|
+
|
22
|
+
「汎用階層形式」のファイルシステムは、Android端末にUSB接続したときに「メディアデバイス(MTP)」を選択したときに出るものでした。以下の画像は先に挙げたASUS A007とは別のAndroid端末(Android 4.4)のもので、USB接続したときの選択画面です。
|
23
|
+

|
24
|
+
ここで「メディアデバイス(MTP)」を選択すればAndroid端末へのファイルのコピーはできなくなりますし、「USBストレージ」を選択するとAndroid端末はPCから見て単なるUSBメモリーになり、ファイルのコピーができるようになります。
|
25
|
+
|
26
|
+
質問者さんのAndroid端末でどのようになるか確認してみてください。「USBストレージ」を選択できれば、PCからファイルコピーできるはずです。ASUS A007では「USBストレージ」の選択肢が無いので、やはりWindowsからAndroid側へのコピーはできません。ASUS A007ではマイクロSDカードなどの外部メディアを挿入できるので、その辺も加味したカスタマイズがされているかもしれません。Android実機によるというのは言えていそうです。
|
1
誤字
answer
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
残念ですが、この場合はできないと言って差し支えないです。
|
4
4
|
|
5
|
-
お使いのAndroid端末のAndroidバージョンや製品によってある程度の違いはあるかもしれませんが、
|
5
|
+
お使いのAndroid端末のAndroidバージョンや製品によってある程度の違いはあるかもしれませんが、Android端末をWindowsにUSB接続したときのファイルシステムのせいだと考えられます。以下の画像は私の手持ちのAndroid端末(ASUS A007 /Android 6.0.1)をWindows 10 PCに接続して、内部ストレージを表示したものです。
|
6
6
|
|
7
7
|

|
8
8
|
|
9
9
|
ここで、右側に「汎用階層形式」と言うファイルシステム名称が表示されています。これは著作権保護を意識したファイルシステムで、ファイルコピーの際に制限をかけます。(左側に表示されている内部ストレージのアイコンが音楽プレーヤーになっていることが、それを示唆しています)Android自体の内部のファイルシステムはAndroidのカーネル(Linux)で使われるext4のはずですが、USB接続した際にはWindows側でそう見えるように一時的に変換をかけているかたちです。
|
10
10
|
|
11
|
-
この「汎用階層形式」のAndroid側のストレージにWindowsのエクスプローラーからアクセスすると、**Androidの内部ストレージにフォルダーを作成することはできますが、ファイルを作成することはできません。**つまり、WindowsからAndroid端末へはファイルがコピーできないのです。これは質問者さんの`OpenFileDialog`でAndroid側からWindows側
|
11
|
+
この「汎用階層形式」のAndroid側のストレージにWindowsのエクスプローラーからアクセスすると、**Androidの内部ストレージにフォルダーを作成することはできますが、ファイルを作成することはできません。**つまり、WindowsからAndroid端末へはファイルがコピーできないのです。これは質問者さんの`OpenFileDialog`でAndroid側からWindows側へはコピーできるが、`SaveFileDialog`でWindows側からAndroid側へはコピーできないことと合致します。
|
12
12
|
|
13
13
|
> もしくは、Androidアプリ(kotlin)からPCのローカルフォルダを参照して、直接ファイルをコピーすることはできるのでしょうか
|
14
14
|
|