android7.0适配权限问题
2016-12-07 17:50
169 查看
12-07 10:52:56.107 22139 29957 W ApplicationSettingsFragment: exportMessages getAppropriateFileName fileName =//sdcard//message//sms001.db 12-07 10:52:56.123 22139 29957 D ApplicationSettingsFragment: exportMessages query sms cursor count is 2 12-07 10:52:56.123 22139 29957 E ApplicationSettingsFragment: exportMessages can't create the database file 12-07 10:52:56.123 22139 29957 W System.err: java.lang.SecurityException: MODE_WORLD_READABLE no longer supported 12-07 10:52:56.123 22139 29957 W System.err: at android.app.ContextImpl.checkMode(ContextImpl.java:2165) 12-07 10:52:56.123 22139 29957 W System.err: at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:674) 12-07 10:52:56.123 22139 29957 W System.err: at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:668) 12-07 10:52:56.123 22139 29957 W System.err: at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:283) 12-07 10:52:56.123 22139 29957 W System.err: at com.android.messaging.ui.appsettings.ApplicationSettingsActivity$ApplicationSettingsFragment.copyToPhoneMemory(SourceFile:638) 12-07 10:52:56.123 22139 29957 W System.err: at com.android.messaging.ui.appsettings.ApplicationSettingsActivity$ApplicationSettingsFragment.-wrap1(SourceFile) 12-07 10:52:56.124 22139 29957 W System.err: at com.android.messaging.ui.appsettings.ApplicationSettingsActivity$ApplicationSettingsFragment$6.run(SourceFile:563)
myDatabase = openOrCreateDatabase(DATABASE_NAME,1, null);
4中模式:
四种模式,分别为: Context.MODE_PRIVATE = 0 Context.MODE_APPEND = 32768 Context.MODE_WORLD_READABLE = 1 Context.MODE_WORLD_WRITEABLE = 2
7.0后
代码调用,存放在data/data/包名/xxx
目录下的文件设置
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
会抛安全异常!!!
1、
SharedPreferences sp =ctx.getSharedPreferences(“CITY”, MODE_PRIVATE);
2、
SQLiteDatabase db =this.openOrCreateDatabase(“test_db.db”, Context.MODE_PRIVATE, null);
3、
getCacheDir()方法用于获取/data/data/cache目录
4、
FileOutputStream fos = context.openFileOutput(fileName, context.MODE_PRIVATE);
FileInputStream fis = context.openFileInput(fileName);
注:
如果使用上面的方法,当你的应用在被用户卸载后,
data/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。
getExternalCacheDir和getExternalFilesDir
是存放在/storage/sdcard0/Android/data/packagename下面的,这个是放在外置存储卡的,这个目录下的内容 可以使用文件浏览系统查看到,但是如果清空数据或者卸载应用,俩个目录下的文件也将被清空。
附加:
将文件写入SD卡内:
获取SDCard的状态:
Environment.getExtemalStorageState()
Environment.MEDIA_MOUNTED手机装有SDCard,并且可以进行读写
获取SDCard的目录:Environment.getExtemalStorageDirectory()
学习:
http://www.2cto.com/kf/201312/267581.html
http://blog.csdn.net/leeo1010/article/details/28600575
http://www.cnblogs.com/rond/p/3553156.html
相关文章推荐
- IOS 10 适配系列_4_ 权限Crash问题
- iOS 适配ios10的权限问题
- Android权限管理之RxPermission解决Android 6.0 适配问题
- 关于Android6.0权限适配的问题
- Android 一行代码搞定将错误日志放入到sd卡中且不需要任何权限,适配到android7.0
- iOS 10 开发适配系列 之 权限Crash问题
- Android权限管理之RxPermission解决Android 6.0 适配问题
- iOS 10 开发适配系列 之 权限Crash问题
- iOS 10 开发适配系列 之 权限Crash问题
- iOS 10 开发适配系列 之 权限Crash问题
- iOS10开发适配系列 之 权限崩溃问题
- iOS 10 开发适配系列 之 权限Crash问题
- iOS10 App适配权限 Push Notifications 字体Frame 遇到的问题
- iOS 10 开发适配系列 之 权限Crash问题
- 关于android6.0权限适配6.0系统以下的问题总结(二维码扫描)
- iOS 10 适配系列-权限Crash问题
- iOS 10 开发适配系列 之 权限Crash问题
- [置顶] iOS10 里面适配权限Crash的问题
- iOS 10 开发适配系列 之 权限Crash问题
- Android权限管理之RxPermission解决Android 6.0 适配问题