Android 禁止使用摄像头功能
客户需求在工厂内使用手机时,为了保证不涉密企业的资料信息。不允许员工使用手机的照相和摄影功能,雷鸟科技找到了解决方案。首先,客户的手机必须保证是4.0以上的操作系统,android在Camera里有一个setCameraDisable的功能,同时可以使用getCameraDisable函数得到摄像头是否被打开的状态来监控
下面上代码:
一、SUDeviceAdminReceiver类
public class SUDeviceAdminReceiver extends DeviceAdminReceiver{
@Override
public DevicePolicyManager getManager(Context context) {
// Logger.d("------" + "getManager" + "------");
return super.getManager(context);
}
@Override
public ComponentName getWho(Context context) {
// Logger.d("------" + "getWho" + "------");
return super.getWho(context);
}
/**
* 禁用
*/
@Override
public void onDisabled(Context context, Intent intent) {
// Logger.d("------" + "onDisabled" + "------");
Toast.makeText(context, "禁用设备管理", Toast.LENGTH_SHORT).show();
super.onDisabled(context, intent);
}
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
// Logger.d("------" + "onDisableRequested" + "------");
return super.onDisableRequested(context, intent);
}
/**
* 激活
*/
@Override
public void onEnabled(Context context, Intent intent) {
// Logger.d("------" + "onEnabled" + "------");
Toast.makeText(context, "启动设备管理", Toast.LENGTH_SHORT).show();
super.onEnabled(context, intent);
}
@Override
public void onPasswordChanged(Context context, Intent intent) {
// Logger.d("------" + "onPasswordChanged" + "------");
super.onPasswordChanged(context, intent);
}
@Override
public void onPasswordFailed(Context context, Intent intent) {
// Logger.d("------" + "onPasswordFailed" + "------");
super.onPasswordFailed(context, intent);
}
@Override
public void onPasswordSucceeded(Context context, Intent intent) {
// Logger.d("------" + "onPasswordSucceeded" + "------");
super.onPasswordSucceeded(context, intent);
}
@Override
public void onReceive(Context context, Intent intent) {
// Logger.d("------" + "onReceive" + "------");
super.onReceive(context, intent);
}
@Override
public IBinder peekService(Context myContext, Intent service) {
// Logger.d("------" + "peekService" + "------");
return super.peekService(myContext, service);
}
}
二、res下xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<device-admin xmlns:Android="http://schemas.android.com/apk/res/android" >
<uses-policies>
<!-- 强行锁定 -->
<force-lock />
<!-- 清除所有数据(恢复出厂设置) -->
<wipe-data />
<!-- 重置密码 -->
<reset-password />
<!-- 限制密码选择 -->
<limit-password />
<!-- 监控登录尝试 -->
<watch-login />
<disable-camera />
</uses-policies>
</device-admin>
三、配置文件
<receiver
android:name=".SUDeviceAdminReceiver"
android:label="@string/app_name"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/mdms" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
四、Activity里调用
private DevicePolicyManager manger;
private ComponentName componentName;
//1.获取设备管理接收者
manger=(DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
//2.申请权限
//MyAdmin 这个类是继承了DeviceAdminReceiver
componentName=new ComponentName(this, SUDeviceAdminReceiver.class);
//3.是否获得管理员权限
if(manger.isAdminActive(componentName)){
manger.setCameraDisabled(componentName, true);
boolean ret = manger.getCameraDisabled(componentName);
if(ret){
textView1.setText("不能使用");
}else{
textView1.setText("可以使用");
}
}else{
Toast.makeText(this, "请先激活管理员",Toast.LENGTH_LONG).show();
openAdmin(null);
}
/**
* 用代码开启管理员权限
*
* @param view
*/
public void openAdmin(View view) {
/*创建添加设备管理员的意图*/
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
/*设置需要激活的组件*/
ComponentName mDeviceAdminSample = new ComponentName(this, SUDeviceAdminReceiver.class);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
/*给用户提示。给出开启的理由*/
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"开启即可实现管理员");
startActivity(intent);
}
- 天猴科技-嘉兴手机APP制作
- 找革网-嘉兴APP制作公司
- 培优教育-嘉兴APP设计制作
- 蚂蚁养车-嘉兴APP开发公司
- 日本电产新宝-平湖手机APP制作
- 爱购电子-平湖APP制作公司
- 敏感物资-平湖APP设计制作
- 返利网-平湖APP开发公司
- 和万金融-海宁手机APP制作
- 小杨汽车-海宁APP制作公司
- 含妃时装-海宁APP设计制作
- 凌通电子-海宁APP开发公司
- 育婴堂母婴-海盐手机APP制作
- 乡村人家-海盐APP制作公司
- 华亚织造-海盐APP设计制作
- 后汉装饰-海盐APP开发公司
- 易采-桐乡手机APP制作
- 名品商标-桐乡APP制作公司
- 诚信保-桐乡APP设计制作
- 宜美进出口-桐乡APP开发公司
- 荣昌轴承-嘉善手机APP制作
- 宏昌塑业-嘉善APP制作公司
- 冠农-嘉善APP设计制作
- 盛康医药-嘉善APP开发公司
- 一元夺宝-嘉善一元夺宝系统
- 一元云构-嘉兴一元云购平台
- 一元商城-海宁一元商城开发
- 一元购物-桐乡一元购物软件
推荐阅读
热门文章
随机推荐
服务内容
- 嘉兴APP开发
- 嘉兴APP制作
- 嘉兴APP公司
- 嘉兴APP应用
- 嘉兴APP软件
- 嘉兴APP推广
- 嘉兴APP营销
- 嘉兴APP客户端
- 嘉兴APP开发教程
- 嘉兴APP手机客户端
- 嘉兴APP软件开发
- 嘉兴APP开发公司
- 嘉兴APP应用软件
- 嘉兴APP应用程序
- 嘉兴手机APP
- 嘉兴手机客户端
- 嘉兴手机APP推广
- 嘉兴手机APP营销
- 嘉兴手机APP制作
- 嘉兴客户端推广
- 嘉兴手机开发
- 嘉兴手机应用
- 嘉兴手机APP开发
- 嘉兴软件制作
- 嘉兴手机软件开发
- 嘉兴手机应用软件
- 嘉兴手机应用开发
- 嘉兴手机网站制作
- 嘉兴手机APP软件
- 嘉兴安卓APP开发
- 嘉兴安卓软件开发
- 嘉兴移动APP
- 嘉兴移动APP软件
- 嘉兴移动APP开发
- 嘉兴安卓手机开发
- 嘉兴企业APP制作
- 嘉兴公司APP制作
- 嘉兴企业APP开发
- 嘉兴APP是什么意思
- 嘉兴APP手机软件
- 嘉兴android手机开发
- 嘉兴android开发教程
- 嘉兴android软件开发
- 嘉兴手机客户端开发
- 嘉兴APP客户端开发
- 嘉兴移动互联网推广
- 嘉兴移动互联网营销
- 嘉兴移动客户端开发
- 嘉兴移动APP客户端
- 嘉兴移动APP软件开发
- 嘉兴APP软件开发公司
- 嘉兴APP软件开发价格
- 嘉兴APP手机客户端开发
- 嘉兴安卓手机软件开发
- 嘉兴安卓手机APP开发
- 嘉兴手机APP开发教程
- 嘉兴手机APP软件开发
- 嘉兴手机APP开发软件
- 嘉兴手机APP开发工具
- 嘉兴手机APP如何开发
- 嘉兴手机APP开发教程
- 嘉兴移动APP开发工具
- 嘉兴移动APP开发软件
- 嘉兴手机APP开发教程
- 嘉兴手机APP开发流程
- 嘉兴移动APP开发教程
- 嘉兴安卓手机客户端开发
- 嘉兴移动应用程序开发
- 嘉兴手机应用程序开发
- 嘉兴安卓应用开发软件
- 嘉兴安卓手机应用开发教程