锁屏&数据库优化及拷贝到系统目录&手机归属地查询及细节&&土司来电归属地显示&动态注册广播接收者&自定义Toast总结
1、Administration API的应用(企业级api)——一键锁屏 a) 开启设备管理员权限(手动和api-看文档) b) 一键开启锁屏 DevicePolicyManager lockNow() c) 一键卸载 removeActiveAdmin(who) d) 判断是否开启了设备管理员 isAdminActive(who) e) 设置锁屏密码 DevicePolicyManager.resetPassword("123", 0); f) 清除锁屏密码 DevicePolicyManager.resetPassword("", 0); |
2、数据库优化 如果数据库的体积过大,拆分多张表,提取冗余数据 |
3、拷贝数据库到系统目录 a) assets b) R.raw c) 类加载器 d) 网络下载 |
4、手机号码固话归属地查询 离线数据库,小米数据库 |
5、号码归属地查询细节 a) 输入框为空的时候,查询时,窗口抖动(参考系统API Demos)-正则表达式 b) 手机抖动 Vibrator c) 用户输入号码后,光标离开文本框,自动进行查询出结果,文本框的监听事件 et_phone_number.addTextChangedListener(new TextWatcher() {} |
6、土司显示来电归属地 ——WindowManager,Toast 设置界面中配置, 如何保存是否服务在运行? a) 不能用SharedPreferences保存 b) 系统检测服务是否运行 activityManager.getRunningServices(100); c) 检测要放在onStart()方法中,不能放在onCreate(),否则有bug。 |
7、动态的在代码上注册广播接收者,以及和在清单文件中注册广播接收者的区别 需求:外拨电话时,也显示电话号码归属地 解决1:在外拨电话的广播接收者中实现归属地查询 缺点:不管有没有开启归属地查询功能,该代码都是会执行 解决2:在代码中,动态的注册该外拨电话的广播接收者 可以动态的控制外拨电话广播接收者的有效期。 清单文件配置和代码中配置区别: TelephonyMangager 监视电话状体的变化. |
8、更改归属地提示框样式 单选对话框 |
9、更改归属地提示框显示的位置 view对象的拖动,拖拽效果的实现 |