1
我开发时,设备启动,它需要monitorize一些特殊的目录,在设备的内存,为了这个,我用FileObservers自动启动应用程序时,一个片段我的代码是:优雅的方式来使用Android FileObserver在引导设备
if (folder == null)
throw new FailedExecutionException(
"Trying to check the limit of a null directory");
Log.d(TAG, "Setting a limit for " + folder.getAbsolutePath());
if (!folder.isDirectory())
throw new FailedExecutionException(
"FolderLimit should be checked on directories, "
+ folder.getAbsolutePath() + " is not a directory");
//Then create the FileObserver...
当我启动与设备此应用程序运行它的工作原理,所在的分区是我观察安装,我可以monitorize的文件夹,问题是,当我重新启动设备,则此代码在系统装入分区之前执行,并且不会将其识别为文件夹:
com.mycompany.android.helpers.util.FailedExecutionException: FolderLimit should be checked on directories, /mnt/sdcard1/mycompany/photo/white_list is not a directory
我当然可以做某种while(!created){ attempt() }
但我要问,如果有一个更优雅的方式来通知分区已经安装该应用程序,系统已准备就绪。
我有什么,如果我执行安装在外壳:
127|[email protected]:/ # mount | busybox grep sdcard1
/dev/block/vold/179:4 /mnt/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime= 0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard1/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
谢谢
编辑我忘了说,我不能为此使用Environment.getExternalStorage()它是一个修改的设备,这是一个分区,不保证是发布版本中的外部存储路径
优雅的解决方案和Android不混合... – m0skit0