一、主要更新模块java
(android
检测:当设备不充电,且在这时间内用户没有直接或间接的启动该应用浏览器
退出:当应用被激活时,或者设备充电时,系统将应用移出此状态安全
检测:当设备不充电,且当设备静止且灭屏一段时间app
周期:平台尝试让系统处于休眠状态,周期性地进入在一个维持窗口恢复正常操做,而后进入更长的休眠状态iphone
)ide
全称为应用程序连接this
技术点:就是咱们的隐式启动Intentspa
android更加鼓励应用程序间的关联而再也不是单一的应用通浏览器的交互code
5.0以前,只须要在manifest.xml中注册便可
5.0之后,用户能够在安装的时候关闭某些权限
6.0及之后,对于一些用户隐私权限老是会在第一次提示用户是否授予权限(和iphone相似)
新的权限机制更好的保护了用户的隐私
给了程序向用户说明权限的做用
能够防止一些恶意程序盗取用户或者手机信息,加强了android系统的安全性
Normal Permission
Dangerous Permissio & Dangerous Permission Group
若是你申请某个危险的权限,假设你的app早已被用户受权了同一组的某个危险权限,那么系统会当即受权,而不须要用户去点击受权。
demo:
Activity申请打电话权限:
//打电话 if(ContextCompat.checkSelfPermission(mContext, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED){ //作权限申请处理 ActivityCompat.requestPermissions(PermissionActivity.this, new String[]{ Manifest.permission.CALL_PHONE }, 1); }else { doCallPhone(); }
private void doCallPhone(){ Intent intent = new Intent(Intent.ACTION_CALL); Uri data = Uri.parse("tel:"+"10086"); intent.setData(data); startActivity(intent); }
若是是在Fragment里申请权限:
直接能够用Fragment里自带的requestPermissions,
若是用则不会进行回调 ActivityCompat.requestPermissions
requestPermissions(new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }, Config.REQ_GET_LOCATION);
回调方法:能够作一些提醒处理
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case 1: //打电话权限回调处理 if(grantResults[0] == PackageManager.PERMISSION_GRANTED){ doCallPhone(); }else { //提示用户权限未被授予 } break; case 0: if(grantResults[0] == PackageManager.PERMISSION_GRANTED){ doSDCardPermission(); }else { //提示用户权限未被授予 Toast.makeText(mContext, "权限被禁止", Toast.LENGTH_LONG).show(); } break; } }
若是按了禁止,每次检查都会提醒