android4.0访问第三方的sharedPreferences数据
来源:互联网 发布:vr头显 知乎 定位 编辑:程序博客网 时间:2024/06/05 12:44
我花了一天的时间研究,修改第三方的国笔输入法的手写默认显示方式,原先是全屏模式,我要改为非全屏模式。
首先把国笔输入法生成的sharedPreferences文件拷贝出来,查看显示全屏与非全屏的关键字。
但是2.3系统使用
try {
otherAppsContext=createPackageContext("com.guobi.gbime", CONTEXT_IGNORE_SECURITY );
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
Log.i("guobi", e.getMessage());
}
SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("com.guobi.gbime_preferences", Context.MODE_WORLD_READABLE);
String name2 = sharedPreferences.getString("HandwriteFrameType", "");是可以获取到数据,而4.0就不行,打印的是空。
最终发现主要是权限问题。
国笔输入法生成的sharedPreferences文件是rw- rw- ---,,所以我们必须改变它的权限进行操作,其实目录也要改权限,都改为777。我在launcher的oncreate()方法中加入以下代码
不要高兴太早,这只是成功了一半,你如果加在launcher中,会发现,每次设置为全屏模式后,要重启两次才能变成非全屏,后了我发现了,原来这是默认的输入法,他每次都是在launcher启动完之前就启动了,所以我们需要放在Launcher应用启动之前去把数据写进去才能成功。这就要考验我们对android的启动流程有所了解。
android4.0/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中有个方法叫startHomeActivityLocked(),这个方法是条用启动launcher的方法,我们在最前面加入上面的代码,launcher中的不需要。OK大功告成。每次启动都是默认为非全屏模式。
- android4.0访问第三方的sharedPreferences数据
- Android4.0 以后 的网络访问和 数据同步问题
- android:数据的存储与访问----Sharedpreferences
- 访问SharedPreferences中的数据
- 如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?
- 访问第三方服务
- 访问第三方应用
- 通过访问第三方URL返回json数据
- android4.4添加第三方apk
- Android4.4 灭屏kill第三方app
- Android4.4 灭屏kill第三方app
- 处理第三方模块的数据
- 第三方数据分析公司的发展方向
- 访问其他程序的SharedPreferences里的数据信息
- Android4.4版本后 限制第三方应用读写外置SD卡的权限问题
- Android4.4以后第三方应用无法删除短信的解决方案
- Android4.4以后第三方应用无法删除短信的解决方案
- android6.0第三方APP获得设备节点的访问权限
- Android 用户界面---操作栏(Action Bar 一)
- Android 用户界面---操作栏(Action Bar 二)
- Android 用户界面---操作栏(Action Bar 三)
- Android TextView中文字设置超链接、颜色、字体
- 未定义变量报错
- android4.0访问第三方的sharedPreferences数据
- MongoDB Linux下的安装和启动
- 快速阅读很神奇—(一)
- 十六周任务1
- Android 用户界面---操作栏(Action Bar 四)
- Sql server 2000导入 Sql server 2005的数据
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程
- 内联函数,构造函数,静态函数都不能是虚函数
- Android 用户界面---操作栏(Action Bar 五)