Androidアプリで作ったファイルがPCで見えない。(OS3.xで)

6,505 views
Skip to first unread message

crazycircuit7

unread,
Feb 23, 2012, 1:45:18 AM2/23/12
to 日本Androidの会
PCにファイルをUSB経由で渡したくて、アプリからzip保存しているのですがPCから見えません。
/mnt/sdcard/Export/0000.zip
(txtファイルも同じだったのでファイルの種類は関係なさそうです。)
アストロファイルマネージャでリネームするとPCから見えます。
ファイルパーミッションを疑いましたが、アストロファイルマネージャでリネームしてもパーミッションは変化なかったです。

索引を更新する等必要な操作があるのでしょうか?
ご存知の方いらっしゃいましたら情報お願い致します。


環境
AndroidOS 3.2 XOOM PCからファイルが見えない。
AndroidOS 2.3.3 Xperia X10i 問題なし

tkc pub

unread,
Feb 23, 2012, 2:39:35 AM2/23/12
to android-g...@googlegroups.com

MTPとかそのあたりの接続方式の問題ではないでしょうか?
XoomはUSBファイルシステムとしては
マウントできなかったと記憶しています。

2012/02/23 15:45 "crazycircuit7" <crazyc...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。

crazycircuit7

unread,
Feb 23, 2012, 3:00:52 AM2/23/12
to 日本Androidの会
返信ありがとうございます。
はい、XOOMはMTPで接続しか選択肢がないようです。
ほかの機種はMSCとMTPが選べる機種もあるようです。OptimusPadは確か選べたとおもいます。
http://pc.nikkeibp.co.jp/article/column/20110427/1031549/

android.mtpパッケージを発見してdocを見ましたが、空き容量とか取得するもので更新方法はよくわかりませんでした。
http://developer.android.com/reference/android/mtp/package-summary.html

普通にファイルを追加してMTPのindex的な物が更新されないようです。
もう少し調べてみます。

MTPの正しい作法がわかるページなどご存知ないでしょうか?

tkc pub

unread,
Feb 23, 2012, 3:37:16 AM2/23/12
to android-g...@googlegroups.com

MTPはメディアトランスファープロトコルといって
mp3などをやり取りするためにあります。
zipの拡張子が認識できない場合
拡張子をmp3に変えると見えたりしませんでしょうか?

2012/02/23 17:02 "crazycircuit7" <crazyc...@gmail.com>:

crazycircuit7

unread,
Feb 23, 2012, 4:02:38 AM2/23/12
to 日本Androidの会
自己解決できました。
2.xも3.xも大丈夫です。
対象パスを限定した方が早いかもしれませんが、SD全体でも十分早いようなのでそのままにします。


http://stackoverflow.com/questions/3300137/how-can-i-refresh-mediastore-on-android

/**
* (MTP接続の場合)ファイルリスト更新の為、SDカード内をスキャンする。
*/
public void rescanSdcard(){
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" +
Environment.getExternalStorageDirectory())));
}

Nikolay Elenkov

unread,
Feb 23, 2012, 4:05:34 AM2/23/12
to android-g...@googlegroups.com
2012/2/23 crazycircuit7 <crazyc...@gmail.com>:

Indexを更新するには、MediaScannerConnection.scanFile()を呼び出す
必要があります。External storageのサンプルコードは参考になる
と思います。

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/content/ExternalStorage.html

crazycircuit7

unread,
Feb 23, 2012, 4:20:47 AM2/23/12
to 日本Androidの会
>nikolayさん
Intentが使えない時は、
「MediaScannerConnection.scanFile」も使えると覚えておきます。
情報ありがとうございます!

Nikolay Elenkov

unread,
Feb 23, 2012, 4:47:23 AM2/23/12
to android-g...@googlegroups.com
2012/2/23 crazycircuit7 <crazyc...@gmail.com>:

そのIntentは、メディアがマウントされたのを示しているので、おそらく、
そんな使い方は想定していないでしょう。システムのMediaScannerReceiver
がそのブロードキャストを拾って、代わりにスキャンしてくれているので、
結果的に同じになります。ただ、SDカード全体をスキャンするのは
ちょっとムダな処理になるでしょう。

Reply all
Reply to author
Forward
0 new messages