亚洲一级簧片_性 毛片_国产乱子视频_久久影城_强伦女教师视频_成人精品久久

蘋果手機遠程控制安卓手機

發布時間: 2023-02-23 18:12 閱讀: 文章來源:轉載

今天我們介紹一下MDM,看了下邊的介紹你就知道如何控制自己的設備了,首先介紹一下MDM是什么的縮寫,MDM是什么?MDM 是 (Mobile Device Management )的縮寫,中文翻譯過來就是移動設備管理。隨著移動設備計算能力地增強,移動設備攜帶越來越方便,移動化辦公已經成為一種潮流,一種趨勢,企業對移動設備管理的需求越來越急切。MDM是企業IT 向移動互聯網過渡的平臺技術,幫助企業將IT管理能力從傳統的 PC 延伸到移動設備甚至 移動應用APP 。隨著時間的發展, MDM 廠商逐漸擴展出 MAM (Mobile Application Management)移動設備的應用程序管理,MEM(Mobile Email Management)移動設備的郵件管理和 MCM (Mobile Content Management)移動設備的內容管理等更多功能,但是MDM是這些管理的基礎。

一、激活設備管理器

使用MDM功能要先激活設備管理器

代碼如下:

/** * 激活設備管理權限 成功執行激活時,DeviceAdminReceiver中的 onEnabled 會響應 */ private void activeManage() { // 啟動設備管理(隱式Intent) - 在AndroidManifest.xml中設定相應過濾器 Intent intents = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); // 權限列表 intents.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); // 描述(additional explanation) intents.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "------ 其他描述 ------"); startActivityForResult(intents, 0); }

二、可以遠程對設備做哪些操作

要先獲得DevicePolicyManager實例才可以進行控制操作

DevicePolicyManager mDPM = (DevicePolicyManager) mContext .getSystemService(Context.DEVICE_POLICY_SERVICE);

1、控制鎖屏

mDPM.lockNow();

2、控制攝像機的使用

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public int setCameraDisabled(boolean disableCamera) { if (isDeviceAdminActive()) { if (API_LEVEL < 14) { return ERROR_UNSUPPORTED; } mDPM.setCameraDisabled(mDeviceAdminSample, disableCamera); return 0; } else { // activateDeviceAdmin(); return ERROR_UNACTIVATED; } } public boolean getCameraDisabled() { if (isDeviceAdminActive()) { if (API_LEVEL < 14) { return false; } return mDPM.getCameraDisabled(mDeviceAdminSample); } else { // activateDeviceAdmin(); return false; } }

3、控制密碼

public int resetPasswd(String newPasswd) { if (isDeviceAdminActive()) { boolean succeed = mDPM.resetPassword(newPasswd, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY); if (succeed) { return 0; } else { return ERROR_PASSWD_QUALITY; } } else { // 激活時間與用戶的操作有關,所以不等待,直接返回操作失敗 activateDeviceAdmin(); return ERROR_UNACTIVATED; } }   public int setPasswdQuality(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordQuality(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } public String getPasswordQuality() { if (isDeviceAdminActive()) { int quality = mDPM.getPasswordQuality(mDeviceAdminSample); switch (quality) { case DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK: return "圖案"; case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC: return "數字"; case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC: return "字母"; case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC: return "數字和字母"; default: return "其它"; } } else { activateDeviceAdmin(); return "未知"; } } public int setPasswordMinimumLength(int value) { if (isDeviceAdminActive()) { mDPM.setPasswordMinimumLength(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } /* * -1無法獲取 */ public int getPasswordMinimumLength() { if (isDeviceAdminActive()) { return mDPM.getPasswordMinimumLength(mDeviceAdminSample); } else { activateDeviceAdmin(); return -1; } } // TODO: 2017-2-7 策略信息中并沒有該項 @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumLetters(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumLetters(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumNumeric(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumNumeric(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumLowerCase(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumLowerCase(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumUpperCase(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumUpperCase(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumSymbols(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumSymbols(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } /* * -1無法獲取 */ public int getPasswordMinimumSymbols() { if (isDeviceAdminActive()) { return mDPM.getPasswordMinimumSymbols(mDeviceAdminSample); } else { activateDeviceAdmin(); return -1; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordMinimumNonLetter(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordMinimumNonLetter(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordHistoryLength(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordHistoryLength(mDeviceAdminSample, value); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } /* * -1無法獲取 */ public int getPasswordHistoryLength() { if (isDeviceAdminActive()) { return mDPM.getPasswordHistoryLength(mDeviceAdminSample); } else { activateDeviceAdmin(); return -1; } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) public int setPasswordExpirationTimeout(int value) { if (isDeviceAdminActive()) { if (API_LEVEL < 11) { return ERROR_UNSUPPORTED; } mDPM.setPasswordExpirationTimeout(mDeviceAdminSample, value * MS_PER_DAY); return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } } /* * -1無法獲取 */ public long getPasswordExpirationTimeout() { if (isDeviceAdminActive()) { long ret = mDPM.getPasswordExpirationTimeout(mDeviceAdminSample); return ret / MS_PER_DAY; } else { activateDeviceAdmin(); return -1; } }

4、控制藍牙

// 打開、關閉藍牙 public int setBluetoothState(boolean enable) { BluetoothAdapter bluetoothAdapter = BluetoothAdapter .getDefaultAdapter(); if (bluetoothAdapter == null) { return ERROR_UNSUPPORTED; } if (enable) { bluetoothAdapter.enable(); } else { bluetoothAdapter.disable(); } return 0; }

5、WIFI控制相關

public int getWifiState() { android.net.wifi.WifiManager wifiManager = (android.net.wifi.WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); return wifiManager.getWifiState(); } // 打開、關閉wifi public void setWifiState(boolean enable) { android.net.wifi.WifiManager wifiManager = (android.net.wifi.WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(enable); } // 打開、關閉wifi public void disconnectWifi() { android.net.wifi.WifiManager wifiManager = (android.net.wifi.WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); wifiManager.getConnectionInfo().getNetworkId(); WifiAdmin wifiAdmin = new WifiAdmin(mContext); wifiAdmin.disconnectWifi(wifiManager.getConnectionInfo().getNetworkId()); //wifiManager.disconnect(); }

6、設置靜音

// 設置靜音 public int setMute(boolean setMute) { if (setMute) { AudioManager audioManager = (AudioManager) mContext .getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); // mute // music // stream audioManager.setStreamVolume(AudioManager.STREAM_RING, 0, 0); // mute // ring // stream if (Build.VERSION.SDK_INT >= 8) { audioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN); audioManager.requestAudioFocus(null, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN); } } else { AudioManager audioManager = (AudioManager) mContext .getSystemService(Context.AUDIO_SERVICE); int maxMusic = audioManager .getStreamMaxVolume(AudioManager.STREAM_MUSIC); audioManager .setStreamVolume(AudioManager.STREAM_MUSIC, maxMusic, 0); // mute // music // stream int maxRing = audioManager .getStreamMaxVolume(AudioManager.STREAM_RING); audioManager.setStreamVolume(AudioManager.STREAM_RING, maxRing, 0); // mute // ring // stream if (Build.VERSION.SDK_INT >= 8) { audioManager.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN); audioManager.requestAudioFocus(null, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN); } } return 0; }

7、恢復出廠設置

@TargetApi(Build.VERSION_CODES.GINGERBREAD) public int wipeData(boolean withExternalStorage) { if (isDeviceAdminActive()) { if (API_LEVEL >= 9) {// mDPM.wipeData(withExternalStorage ? DevicePolicyManager.WIPE_EXTERNAL_STORAGE// : 0); mDPM.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE); } else { // WIPE_EXTERNAL_STORAGE is not supported under API level 9 mDPM.wipeData(0); } return 0; } else { activateDeviceAdmin(); return ERROR_UNACTIVATED; } }

要想實現更多的管理服務得去不同廠家申請了,比如申請加入APP白名單的接口,wifi黑白名單的各種黑操作之類的。

有問題歡迎留言討論

喜歡 就關注吧,歡迎投稿!

???展開全文
相關文章
主站蜘蛛池模板: 欧美视频免费看 | 久久精品成人一区二区三区蜜臀 | 国产精品一区二区久久久 | 日韩一区二区三区在线 | 中文字幕综合网 | 欧美一区在线视频 | 久久久一区二区三区 | 2020av在线 | 国产成人精品三级麻豆 | 亚洲免费视频网站 | 99精品视频在线观看免费 | 久久久ww| 欧美日韩国产综合在线 | 亚洲日本综合 | 国内精品视频 | 中文天堂视频在线 | 九九热视频在线观看 | 国产成人久久 | 久久久亚洲综合 | 日韩精品一区二区三区在线 | 日韩国产一区二区三区 | 国产艳妇 | 久久久久久久久久久一区二区 | 久久国产精品久久久久久 | 国产一区中文字幕 | 久久大 | 国产欧美精品一区aⅴ影院 99爱在线视频 | 免费看黄色网 | 成人动漫一区二区三区 | 精品久久久久久久久久久久久久久久久 | 91精品国产福利一区二区三区 | 欧美国产日韩视频 | 综合精品久久 | 国产一区二区在线免费 | 国产视频污 | 日本一区二区视频在线 | 亚洲一区二区成人 | 欧美成人免费在线视频 | 精品视频久久久久久久 | 秋霞视频在线 | 天天综合网天天综合色 |