中西です。
今回のケースがあてはまるかどうかわかりませんが参考情報を追加しておきます。
市場に出回っている MDM(Mobile Device Management)の中には、SDカード(および相当する
内蔵メモリ)へのファイル書き込み禁止をうたっているものがあります。
AndroidのDevice Administrationとして、ファイル書き込み禁止とする機構が無いため、
なんらかの方法でファイル作成を検出し、それをトリガとしてすぐにファイルを消すという
ようなことをやっていると思われます。
なので、そういう可能性を考慮して、SDカード上のファイルはどんなタイミングで消滅
していてもおかしくないという前提でコードを書いておく方が安全になるかと思います。
(2013/08/23 17:21), Kazuhiko Kobayashi wrote:
> クラッシュレポートを見ても機種がOTHERとかですのでちょっと
> 分かりません。
> ただ、パスが/storage/emulated/0で始まっているログもあるため、
> OSのバージョンはまちまちのようです。
>
> 2013年8月23日 16:58 飯塚康至 <
iiz...@aa.mbn.or.jp <mailto:
iiz...@aa.mbn.or.jp>>:
>
> お疲れ様です。飯塚です。
> うまくいかない機種分かりますか?
>
> 2013年8月23日 16:27 Kazuhiko Kobayashi <
koba...@pscnet.co.jp <mailto:
koba...@pscnet.co.jp>>:
> >> ./mnt/sdcard/xxx/product/
> >> というパスは、エラーの起こる実機で実際にあるパスでしょうか。
> >
> > 書けているという事は存在するはずです。
> >
> >> getExternalStorageDirectory()を使用して取得していますか?
> >
> > はい、もちろんです。
> >
> >> 「1はちゃんとエラー無しでかけていますので」とのことですが、正常に書き込みがされていることは
> >> エラーが起きた実機で確認されましたか?
> >
> > こちらの手持ちの機種
> > ・NEXUS7
> > ・GALAXY NEXUS
> > ・P-01D
> > ・TF101
> > ・HTC J butterfly HTL21
> > では全く発生しませんので確認のしようがありません。
> > しかし書けているという事はユーザーから送られてきたstacktraceで
> > エラーが3の所で発生している事から、間違い無いと思われます。
> >
> >
> > 2013年8月23日 15:02 田代透 <
toru...@gmail.com <mailto:
toru...@gmail.com>>:
> >
> >> ./mnt/sdcard/xxx/product/
> >> というパスは、エラーの起こる実機で実際にあるパスでしょうか。
> >>
> >> getExternalStorageDirectory()を使用して取得していますか?
> >>
> >> 「1はちゃんとエラー無しでかけていますので」とのことですが、正常に書き込みがされていることは
> >> エラーが起きた実機で確認されましたか?
> >>
> >>
> >>
> >> 2013年8月23日 14:49 Kazuhiko Kobayashi <
koba...@pscnet.co.jp <mailto:
koba...@pscnet.co.jp>>:
> >>>
> >>> ファイルのpermissionは変更しておりません。
> >>> また、close()した次の行でrenameToし、その次の行でopenしていますので
> >>> その間に何か処理が入るという事は無いです。
> >>>
> >>> 2013年8月23日 14:41 Hirokazu Fukami <
fkm...@gmail.com <mailto:
fkm...@gmail.com>>:
> >>>
> >>>> こんにちはfkmです。
> >>>>
> >>>> permissionという用語がごっちゃになっててすいません。。。
> >>>> 「これかな?」と思ったのは、ファイルに対するpermissionです。
> >>>> Linuxであれば
> >>>> chmod +x ファイル名
> >>>> で変更したりするやつです。
> >>>>
> >>>> これが、何らかのタイミングで変更されちゃったりは、してないでしょうか?
> >>>>
> >>>>
> >>>> 2013/8/23 Kazuhiko Kobayashi <
koba...@pscnet.co.jp <mailto:
koba...@pscnet.co.jp>>:
> >>>> > permissionは、
> >>>> > android.permission.WRITE_EXTERNAL_STORAGE
> >>>> > を付けています。
> >>>> > そもそも1でちゃんとエラー無しで書けていますので、書き込み権限は
> >>>> > 問題無いと考えられます。
> >>>> > ところがrenameToした後にファイルが無くなっているので困っています。
> >>>> >
> >>>> > 何かセキュリティソフトが影響していたりするのでしょうか。
> >>>> >
> >>>> > 2013年8月23日 14:11 Hirokazu Fukami <
fkm...@gmail.com <mailto:
fkm...@gmail.com>>:
> >>>> >
> >>>> >> こんにちはfkmです。
> >>>> >>
> >>>> >> sdcardが内部ストレージになっている機種で、permissionが無い
> >>>> >> というケースはどうでしょうか?
> >>>> >> (Nexus Sでsdcard直下には書けなかった記憶があるので。。。
> >>>> >>
> >>>> >>
> >>>> >> 2013/8/23 Kazuhiko Kobayashi <
koba...@pscnet.co.jp <mailto:
koba...@pscnet.co.jp>>:
> >>>> >> > 小林と申します。
> >>>> >> > リリースしているアプリでsdcardのトラブルに悩まされています。
> >>>> >> > ネットからダウンロードしたコンテンツを以下の手順でsdcardの
> >>>> >> > アプリ専用フォルダに格納しています(フォルダは機種によって違います)。
> >>>> >> >
> >>>> >> > 1./mnt/sdcard/xxx/product/xxx.tmp にダウンロードしたファイルを書く。
> >>>> >> > 2.それをrenameToで /mnt/sdcard/xxx/product/xxx.zip に書き換える。
> >>>> >> > 3. xxx.zipファイルを読む。
> >>>> >> > この3の部分で、xxx.zipが見つからないというエラーがユーザー様のところで
> >>>> >> > 多発しています。
> >>>> >> > 1は正常に終了していますのでおそらく2の部分でrenameToが失敗している
> >>>> >> > のだと思いますが、同一フォルダでrenameToが失敗する事というのは
> >>>> >> > ハードウェア系のトラブル以外にあるのでしょうか。
> >>>> >> > 手持ちの端末複数でかなりテストしましたが、どうやっても再現せず
> >>>> >> > 困っています。
> >>>> >> >
> >>>> >> > --
> >>>> >> > 小林一彦
> >>>> >> >
> >>>> >> > --
> >>>> >> > このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >>>> >> >
> >>>> >> >
> >>>> >> > このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> >>>> >>
email:f...@fkmsoft.jp <mailto:
f...@fkmsoft.jp>
> >>>> >>
> >>>> >> --
> >>>> >> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >>>> >>
> >>>> >> このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> >>>> > このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> >>>>
email:f...@fkmsoft.jp <mailto:
f...@fkmsoft.jp>
> >>>>
> >>>> --
> >>>> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >>>>
> >>>> このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> >>> このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> >>
toru...@gmail.com <mailto:
toru...@gmail.com>
> >>
> >> --
> >> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >> このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> > このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。
> このグループに投稿するには、
android-g...@googlegroups.com <mailto:
android-g...@googlegroups.com> にメールを送信してください。