业务场景介绍:
外出人员根据业务对拜访人进行拜访,保护外访人和拜访人的人生安全。本软件针对催收系统
少啰嗦 来几张效果图
功能介绍:
1.设备安全校验
2.百度地图(实时定位上传,导航,位置提醒,地址检索,添加多个mark点,mark点的点击事件)
3.拍照上传,录制视频上传,录制语音上传,图片选择上传,附件上传
4.文件压缩
5.批量文件上传
6.悬浮窗口的添加
项目总结:
在开发总没有遇到什么问题 就是测试的时候 有的手机无法弹出悬浮框 (给出我的解决办法 )记得权限申请 和动态权限
////////////////////////////////判断悬浮窗///////////////////////////////////////////////////////////////////
/**
* 请求用户给予悬浮窗的权限
*/
public void requestPermission() {
if (isFloatWindowOpAllowed(this)) {//已经开启
windownRecord(); //正常业务逻辑
} else {
openSetting();
}
}
/**
* 打开权限设置界面
*/
public void openSetting() {
// try {
startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), 11);
/* Intent localIntent = new Intent(
"miui.intent.action.APP_PERM_EDITOR");
localIntent.setClassName("com.miui.securitycenter",
"com.miui.permcenter.permissions.AppPermissionsEditorActivity");
localIntent.putExtra("extra_pkgname", getPackageName());
startActivityForResult(localIntent, 11);
logUtils .e("启动小米悬浮窗设置界面");
} catch (ActivityNotFoundException localActivityNotFoundException) {
Intent intent1 = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent1.setData(uri);
startActivityForResult(intent1, 11);
logUtils .e("启动悬浮窗界面");
}*/
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 11) {
if (isFloatWindowOpAllowed(this)) {//已经开启
windownRecord();
} else {
logUtils .e("开启悬浮窗失败");
ToastUtil.showToast(this,"请手动开启悬浮窗允许");
}
} else if (requestCode == 12) {
if (Build.VERSION.SDK_INT >= 23) {
if (!Settings.canDrawOverlays(RecordActivity.this)) {
ToastUtil.showToast(this,"权限授予失败,无法开启悬浮窗");
} else {
windownRecord();
}
}
}
}
public void openFloat(){
//开启悬浮窗前先请求权限
if ("Xiaomi".equals(Build.MANUFACTURER)) {//小米手机
logUtils .e("小米手机");
requestPermission();
} else if ("Meizu".equals(Build.MANUFACTURER)) {//魅族手机
logUtils .e("魅族手机");
requestPermission();
} else {//其他手机
logUtils .e("其他手机");
if (Build.VERSION.SDK_INT >= 23) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivityForResult(intent, 12);
} else {
windownRecord();
}
} else {
windownRecord();
}
}
}