8

Samsung Galaxy Nexus で奇妙な問題が発生しています。アプリケーションで作成および書き込みされたファイルは、電話自体で (ES ファイル エクスプローラー経由で) アクセスすると正常に表示されますが、PC で同じファイルを表示しようとすると、 (電話が USB 経由で接続されている場合)、0 バイトとして表示されます(開くと空になります)。

これらは、new File(dir, filename) を使用して作成し、PrintWriter の write メソッドを使用して書き込む通常のテキスト ファイルである必要があります。また、MediaScannerConnection.scanFile を使用して、新しいファイルをコンテンツ データベースに追加しています。

以前のアプリケーション (6 か月以上前) で基本的に同じコードを問題なく使用していたので、なぜ今は機能しないのか本当に混乱しています。誰かが同様の問題を抱えていましたか?

アップデート:

これはまだトラブルシューティング中です...さらに2つの観察により、私は完全に混乱しています。

  1. 別の PC で同じファイルにアクセスしてみましたが、問題なく動作しました。これは、ドライバーの問題である可能性があると考えていましたが、ドライバーをまったく変更していないため、それでも奇妙です (以前にこの問題を経験したことはありません)。

  2. 以前に作成した別のアプリケーションを使用してファイルを作成しようとしました。ファイルの作成などに基本的に同じ FileIO クラスを使用します。このアプリケーションではそのような問題は発生しません。

4

2 に答える 2

5

私は同じ問題に直面しました。これは、MTP (Media Transfer Protocol) の定義方法に関係しています。

MTP にはいくつかの欠点があります。ウィキペディアはそれらを次のようにリストしています:

  1. ファイルを開くとき、ユーザーはファイルが PC にコピーされるまで待ってから表示する必要があります。(注: ファイルは、表示後に PC のハード ドライブに残り、デバイスが削除されます)
  2. PC からデバイス上にファイルを作成する必要はありません。PC 上でファイルを作成し、コピーする必要があります。
  3. デバイス上でファイルを編集することはできません。編集内容を保存してファイルをコピーして戻す前に、ファイルをデバイスからコピーする必要があります。

私の場合、携帯電話が USB 経由で接続されているときに撮ったスクリーン キャップのサイズは (PC 上で) 0 kb でした。しかし、USBのプラグを抜いて差し込むと、これは解決しました。

于 2013-07-22T11:59:30.523 に答える
1

私は同じ問題を抱えていました。電話を接続すると、フォルダが空であると表示されましたが、電話のロックを解除すると、すべてのファイルがコンピュータに表示されました。かなり厳しいセキュリティ設定をしていますが、試してみる価値はあります。

于 2015-10-08T02:20:49.347 に答える