|
|
AIWROKÈí¼þȨÏÞ¹ÜÀíÆ÷ʵÏÖ
- // ES5ϵͳ°²×¿ JavaScriptÒýÇæRhino
- // 🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- // AIWROKÈí¼þȨÏÞ¹ÜÀíÆ÷ʵÏÖ
- // Ö±½ÓÀ©Õ¹permissionManger¶ÔÏó£¬Ìí¼ÓËùÓбØÒªµÄ·½·¨
- // »ù´¡È¨ÏÞ¼ì²éº¯Êý£¨µ±Java¶ÔÏóÖÐûÓжÔÓ¦·½·¨Ê±Ê¹Óã©
- function checkPermission() {
- return false; // ĬÈÏ·µ»Øfalse
- }
- // »ù´¡È¨ÏÞÇëÇóº¯Êý£¨µ±Java¶ÔÏóÖÐûÓжÔÓ¦·½·¨Ê±Ê¹Óã©
- function requestPermission() {
- return true; // ĬÈÏ·µ»Øtrue
- }
- // ´ø²ÎÊýµÄȨÏÞÇëÇóº¯Êý£¨µ±Java¶ÔÏóÖÐûÓжÔÓ¦·½·¨Ê±Ê¹Óã©
- function requestPermissionWithParam(param) {
- return true; // ĬÈÏ·µ»Øtrue
- }
- // ±£´æÔʼµÄpermissionManger¶ÔÏó£¨Èç¹û´æÔÚ£©
- var originalPermissionManger;
- try {
- originalPermissionManger = typeof permissionManger !== 'undefined' ? permissionManger : {};
- } catch (e) {
- originalPermissionManger = {};
- }
- // ´´½¨Ò»¸öеÄȨÏÞ¹ÜÀíÆ÷¶ÔÏó
- var permissionManger = {};
- // ³¢ÊÔ¸´ÖÆÔʼ¶ÔÏóµÄÊôÐԺͷ½·¨£¨Èç¹ûÔʼ¶ÔÏó´æÔÚ£©
- try {
- if (typeof originalPermissionManger === 'object' && originalPermissionManger !== null) {
- // ʹÓüòµ¥µÄ·½Ê½·ÃÎÊÔʼ¶ÔÏóµÄ·½·¨£¬±ÜÃâfor-inÑ»·µÄÎÊÌâ
- // Ö»¸´ÖÆÎÒÃÇÖªµÀ¿ÉÄÜ´æÔڵķ½·¨
- var possibleMethods = [
- 'checkAccessPremission', 'checkAccessPermission',
- 'checkAllMustPremission', 'checkAllMustPermission',
- 'checkBLEPremission', 'checkBLEPermission',
- 'checkBatteryOptimization',
- 'checkCONTACTS',
- 'checkFloatPremission', 'checkFloatPermission',
- 'checkScreenShotPremission', 'checkScreenShotPermission',
- 'checkNeedPremission', 'checkNeedPermission',
- 'checkPremission', 'checkPermission',
- 'checkSMS',
- 'requesAccessPremission', 'requestAccessPermission',
- 'requesBatteryOptimization', 'requestBatteryOptimization',
- 'requesFloatPremission', 'requestFloatPermission',
- 'requesScreenShotPremission', 'requestScreenShotPermission',
- 'requestAllPremission', 'requestAllPermission',
- 'requestBLEPremission', 'requestBLEPermission',
- 'requestPremission', 'requestPermission'
- ];
-
- for (var i = 0; i < possibleMethods.length; i++) {
- var methodName = possibleMethods[i];
- try {
- if (typeof originalPermissionManger[methodName] === 'function') {
- permissionManger[methodName] = originalPermissionManger[methodName];
- }
- } catch (e) {
- // ºöÂÔÎÞ·¨¸´ÖƵķ½·¨
- }
- }
- }
- } catch (e) {
- // Èç¹û¸´Öƹý³ÌÖгö´í£¬¼ÌÐøÖ´ÐÐ
- }
- // ´úÀíº¯ÊýÉú³ÉÆ÷ - ÓÃÓÚ´´½¨´úÀí·½·¨
- function createProxyMethod(methodName, fallback) {
- return function() {
- try {
- // Èç¹ûoriginalPermissionManger´æÔÚÇÒÓжÔÓ¦µÄ·½·¨£¬Ôòµ÷ÓÃËü
- if (typeof originalPermissionManger !== 'undefined' &&
- typeof originalPermissionManger[methodName] === 'function') {
- var result = originalPermissionManger[methodName].apply(originalPermissionManger, arguments);
-
- // ¶ÔÓÚȨÏÞÇëÇó·½·¨£¬È·±£·µ»Ø²¼¶ûÖµ
- if (methodName.indexOf('request') === 0 || methodName.indexOf('reques') === 0) {
- // Èç¹ûJava·½·¨·µ»Øundefined£¬Ê¹ÓÃfallbackµÄ·µ»ØÖµ
- return typeof result === 'undefined' ? fallback.apply(this, arguments) : result;
- }
-
- return result;
- }
- // ·ñÔòʹÓÃfallbackº¯Êý
- return fallback.apply(this, arguments);
- } catch (e) {
- // Èç¹ûµ÷ÓÃJava·½·¨Ê§°Ü£¬Ê¹ÓÃfallbackº¯Êý
- return fallback.apply(this, arguments);
- }
- };
- }
- // ΪËùÓÐÐèÒªµÄ·½·¨´´½¨´úÀí²¢Ìí¼Óµ½permissionManger¶ÔÏó
- // ¼ì²éȨÏÞ·½·¨
- permissionManger.checkAccessPremission = createProxyMethod('checkAccessPremission', checkPermission);
- permissionManger.checkAccessPermission = createProxyMethod('checkAccessPermission', checkPermission);
- permissionManger.checkAllMustPremission = createProxyMethod('checkAllMustPremission', checkPermission);
- permissionManger.checkAllMustPermission = createProxyMethod('checkAllMustPermission', checkPermission);
- permissionManger.checkBLEPremission = createProxyMethod('checkBLEPremission', checkPermission);
- permissionManger.checkBLEPermission = createProxyMethod('checkBLEPermission', checkPermission);
- permissionManger.checkBatteryOptimization = createProxyMethod('checkBatteryOptimization', checkPermission);
- permissionManger.checkCONTACTS = createProxyMethod('checkCONTACTS', checkPermission);
- permissionManger.checkFloatPremission = createProxyMethod('checkFloatPremission', checkPermission);
- permissionManger.checkFloatPermission = createProxyMethod('checkFloatPermission', checkPermission);
- permissionManger.checkScreenShotPremission = createProxyMethod('checkScreenShotPremission', checkPermission);
- permissionManger.checkScreenShotPermission = createProxyMethod('checkScreenShotPermission', checkPermission);
- permissionManger.checkNeedPremission = createProxyMethod('checkNeedPremission', checkPermission);
- permissionManger.checkNeedPermission = createProxyMethod('checkNeedPermission', checkPermission);
- permissionManger.checkPremission = createProxyMethod('checkPremission', checkPermission);
- permissionManger.checkPermission = createProxyMethod('checkPermission', checkPermission);
- permissionManger.checkSMS = createProxyMethod('checkSMS', checkPermission);
- // ÇëÇóȨÏÞ·½·¨
- permissionManger.requesAccessPremission = createProxyMethod('requesAccessPremission', requestPermission);
- permissionManger.requestAccessPermission = createProxyMethod('requestAccessPermission', requestPermission);
- permissionManger.requesBatteryOptimization = createProxyMethod('requesBatteryOptimization', requestPermission);
- permissionManger.requestBatteryOptimization = createProxyMethod('requestBatteryOptimization', requestPermission);
- permissionManger.requesFloatPremission = createProxyMethod('requesFloatPremission', requestPermission);
- permissionManger.requestFloatPermission = createProxyMethod('requestFloatPermission', requestPermission);
- permissionManger.requesScreenShotPremission = createProxyMethod('requesScreenShotPremission', requestPermission);
- permissionManger.requestScreenShotPermission = createProxyMethod('requestScreenShotPermission', requestPermission);
- permissionManger.requestAllPremission = createProxyMethod('requestAllPremission', requestPermission);
- permissionManger.requestAllPermission = createProxyMethod('requestAllPermission', requestPermission);
- permissionManger.requestBLEPremission = createProxyMethod('requestBLEPremission', requestPermission);
- permissionManger.requestBLEPermission = createProxyMethod('requestBLEPermission', requestPermission);
- // ´ø²ÎÊýµÄÇëÇóȨÏÞ·½·¨
- permissionManger.requestPremission = createProxyMethod('requestPremission', requestPermissionWithParam);
- permissionManger.requestPermission = createProxyMethod('requestPermission', requestPermissionWithParam);
- // ====================== »ù´¡È¨ÏÞ²âÊÔ ======================
- printl('=== ȨÏÞ¹ÜÀíÆ÷»ù´¡¹¦ÄܲâÊÔ ===');
- // ¼ì²éÎÞÕϰȨÏÞ
- printl('1. ÎÞÕϰȨÏÞ¼ì²é: ' + permissionManger.checkAccessPremission());
- // ¼ì²éËùÓбØÒªÈ¨ÏÞ
- printl('2. ËùÓбØÒªÈ¨ÏÞ¼ì²é: ' + permissionManger.checkAllMustPremission());
- // ¼ì²éÀ¶ÑÀȨÏÞ
- printl('3. À¶ÑÀȨÏÞ¼ì²é: ' + permissionManger.checkBLEPremission());
- // ¼ì²éµç³ØÓÅ»¯
- printl('4. µç³ØÓÅ»¯¼ì²é: ' + permissionManger.checkBatteryOptimization());
- // ¼ì²éͨѶ¼ȨÏÞ
- printl('5. ͨѶ¼ȨÏÞ¼ì²é: ' + permissionManger.checkCONTACTS());
- // ¼ì²éÐü¸¡´°È¨ÏÞ
- printl('6. Ðü¸¡´°È¨ÏÞ¼ì²é: ' + permissionManger.checkFloatPremission());
- // ¼ì²é½ØÍ¼È¨ÏÞ
- printl('7. ½ØÍ¼È¨ÏÞ¼ì²é: ' + permissionManger.checkScreenShotPremission());
- // ¼ì²éÐèÒªµÄȨÏÞ
- printl('8. ÐèҪȨÏÞ¼ì²é: ' + permissionManger.checkNeedPremission());
- // ¼ì²éÖ¸¶¨È¨ÏÞ
- printl('9. ͨÓÃȨÏÞ¼ì²é: ' + permissionManger.checkPremission());
- // ¼ì²é¶ÌÐÅȨÏÞ
- printl('10. ¶ÌÐÅȨÏÞ¼ì²é: ' + permissionManger.checkSMS());
- // ÇëÇóȨÏÞ²âÊÔ
- printl('\n=== ÇëÇóȨÏÞ¹¦ÄܲâÊÔ ===');
- // ÇëÇóÎÞÕϰȨÏÞ
- printl('1. ÇëÇóÎÞÕϰȨÏÞ: ' + permissionManger.requesAccessPremission());
- // ÇëÇóµç³ØÓÅ»¯È¨ÏÞ
- printl('2. ÇëÇóµç³ØÓÅ»¯È¨ÏÞ: ' + permissionManger.requesBatteryOptimization());
- // ÇëÇóÐü¸¡´°È¨ÏÞ
- printl('3. ÇëÇóÐü¸¡´°È¨ÏÞ: ' + permissionManger.requesFloatPremission());
- // ÇëÇó½ØÍ¼È¨ÏÞ
- printl('4. ÇëÇó½ØÍ¼È¨ÏÞ: ' + permissionManger.requesScreenShotPremission());
- // ÇëÇóËùÓбØÒªÈ¨ÏÞ
- printl('5. ÇëÇóËùÓбØÒªÈ¨ÏÞ: ' + permissionManger.requestAllPremission());
- // ÇëÇóÀ¶ÑÀȨÏÞ
- printl('6. ÇëÇóÀ¶ÑÀȨÏÞ: ' + permissionManger.requestBLEPremission());
- // ÇëÇóÖ¸¶¨È¨ÏÞ£¨´ø²ÎÊý£©
- printl('7. ÇëÇóÖ¸¶¨È¨ÏÞ(root): ' + permissionManger.requestPremission('root'));
- printl('\n=== »ù´¡²âÊÔÍê³É ===');
- // ====================== ¸´ÔÓÓ¦Óóõʼ»¯Ê¾Àý ======================
- printl('\n\n=== ¸´ÔÓÓ¦Óóõʼ»¯Ê¾Àý ===');
- // Ó¦Óóõʼ»¯Àà - ES5Ó﷨ʵÏÖ
- function MyApplication() {
- this.permissions = {
- required: ['access', 'float', 'battery'],
- optional: ['contacts', 'sms', 'ble'],
- status: {}
- };
-
- this.initComplete = false;
- }
- // ¼ì²éËùÓÐȨÏÞ״̬
- MyApplication.prototype.checkAllPermissions = function() {
- var results = {};
-
- // ¼ì²é±ØÒªÈ¨ÏÞ
- results.access = permissionManger.checkAccessPremission();
- results.allMust = permissionManger.checkAllMustPremission();
- results.float = permissionManger.checkFloatPremission();
- results.battery = permissionManger.checkBatteryOptimization();
-
- // ¼ì²é¿ÉѡȨÏÞ
- results.contacts = permissionManger.checkCONTACTS();
- results.sms = permissionManger.checkSMS();
- results.ble = permissionManger.checkBLEPremission();
- results.screenshot = permissionManger.checkScreenShotPremission();
-
- this.permissions.status = results;
- return results;
- };
- // ÇëÇóËùÓбØÒªÈ¨ÏÞ
- MyApplication.prototype.requestRequiredPermissions = function() {
- var success = true;
-
- printl('ÕýÔÚÇëÇó±ØÒªÈ¨ÏÞ...');
-
- // ÇëÇóÎÞÕϰȨÏÞ£¨Ó¦ÓúËÐŦÄÜ£©
- if (this.permissions.status.access !== true) {
- printl('ÇëÇóÎÞÕϰȨÏÞ...');
- success = success && permissionManger.requesAccessPremission();
- }
-
- // ÇëÇóÐü¸¡´°È¨ÏÞ£¨½çÃæÏÔʾ£©
- if (this.permissions.status.float !== true) {
- printl('ÇëÇóÐü¸¡´°È¨ÏÞ...');
- success = success && permissionManger.requesFloatPremission();
- }
-
- // ÇëÇóµç³ØÓÅ»¯È¨ÏÞ£¨ºǫ́ÔËÐУ©
- if (this.permissions.status.battery !== true) {
- printl('ÇëÇóµç³ØÓÅ»¯È¨ÏÞ...');
- success = success && permissionManger.requesBatteryOptimization();
- }
-
- return success;
- };
- // ÇëÇó¿ÉѡȨÏÞ
- MyApplication.prototype.requestOptionalPermissions = function() {
- var results = {};
-
- printl('\nÕýÔÚÇëÇó¿ÉѡȨÏÞ...');
-
- // ÇëÇóͨѶ¼ȨÏÞ
- if (this.permissions.status.contacts !== true) {
- printl('ÇëÇóͨѶ¼ȨÏÞ...');
- results.contacts = permissionManger.requestPermission('contacts');
- }
-
- // ÇëÇó¶ÌÐÅȨÏÞ
- if (this.permissions.status.sms !== true) {
- printl('ÇëÇó¶ÌÐÅȨÏÞ...');
- results.sms = permissionManger.requestPermission('sms');
- }
-
- // ÇëÇóÀ¶ÑÀȨÏÞ
- if (this.permissions.status.ble !== true) {
- printl('ÇëÇóÀ¶ÑÀȨÏÞ...');
- results.ble = permissionManger.requestBLEPremission();
- }
-
- return results;
- };
- // Ó¦Óóõʼ»¯Á÷³Ì
- MyApplication.prototype.init = function() {
- printl('\n=== Ó¦Óóõʼ»¯¿ªÊ¼ ===');
-
- // ²½Öè1: ¼ì²éµ±Ç°È¨ÏÞ״̬
- printl('²½Öè1: ¼ì²éµ±Ç°È¨ÏÞ״̬');
- this.checkAllPermissions();
-
- // ²½Öè2: ÇëÇó±ØÒªÈ¨ÏÞ
- printl('²½Öè2: ÇëÇó±ØÒªÈ¨ÏÞ');
- var requiredSuccess = this.requestRequiredPermissions();
-
- if (!requiredSuccess) {
- printl('ERROR: ±ØÒªÈ¨ÏÞÇëÇóʧ°Ü£¬Ó¦ÓÃÎÞ·¨Õý³£ÔËÐУ¡');
- return false;
- }
-
- // ²½Öè3: Ôٴμì²é±ØÒªÈ¨ÏÞÊÇ·ñ¶¼ÒÑ»ñÈ¡
- printl('²½Öè3: ÑéÖ¤±ØÒªÈ¨ÏÞ');
- this.checkAllPermissions();
-
- if (this.permissions.status.access !== true ||
- this.permissions.status.float !== true ||
- this.permissions.status.battery !== true) {
- printl('ERROR: ±ØÒªÈ¨ÏÞδȫ²¿»ñÈ¡£¬Ó¦ÓÃÎÞ·¨Õý³£ÔËÐУ¡');
- return false;
- }
-
- // ²½Öè4: ÇëÇó¿ÉѡȨÏÞ£¨²»»áÓ°ÏìÓ¦ÓúËÐŦÄÜ£©
- printl('²½Öè4: ÇëÇó¿ÉѡȨÏÞ');
- var optionalResults = this.requestOptionalPermissions();
-
- // ²½Öè5: ¼Ç¼ȨÏÞ»ñȡ״̬
- printl('²½Öè5: ¼Ç¼ȨÏÞ״̬');
- this.checkAllPermissions();
-
- // ²½Öè6: ³õʼ»¯Ó¦ÓúËÐŦÄÜ
- printl('²½Öè6: ³õʼ»¯Ó¦ÓúËÐŦÄÜ');
- this.initCoreFeatures();
-
- // ²½Öè7: ¸ù¾Ý¿ÉѡȨÏÞ״̬³õʼ»¯¸½¼Ó¹¦ÄÜ
- printl('²½Öè7: ¸ù¾Ý¿ÉѡȨÏÞ³õʼ»¯¸½¼Ó¹¦ÄÜ');
- this.initOptionalFeatures();
-
- printl('\n=== Ó¦Óóõʼ»¯Íê³É ===');
- this.initComplete = true;
- return true;
- };
- // ³õʼ»¯Ó¦ÓúËÐŦÄÜ
- MyApplication.prototype.initCoreFeatures = function() {
- printl('\nÕýÔÚ³õʼ»¯ºËÐŦÄÜ:');
- printl('- ÎÞÕϰ·þÎñ³õʼ»¯');
- printl('- Ðü¸¡´°½çÃæ´´½¨');
- printl('- ºǫ́ÈÎÎñµ÷¶ÈÉèÖÃ');
- printl('- Óû§Êý¾Ý¼ÓÔØ');
- };
- // ¸ù¾Ý¿ÉѡȨÏÞ״̬³õʼ»¯¸½¼Ó¹¦ÄÜ
- MyApplication.prototype.initOptionalFeatures = function() {
- printl('\nÕýÔÚ³õʼ»¯¸½¼Ó¹¦ÄÜ:');
-
- // ¸ù¾ÝͨѶ¼ȨÏÞ״̬³õʼ»¯ÁªÏµÈ˹¦ÄÜ
- if (this.permissions.status.contacts === true) {
- printl('- ÁªÏµÈËͬ²½¹¦ÄÜÒÑÆôÓÃ');
- } else {
- printl('- ÁªÏµÈËͬ²½¹¦ÄÜÒѽûÓã¨ÐèҪͨѶ¼ȨÏÞ£©');
- }
-
- // ¸ù¾Ý¶ÌÐÅȨÏÞ״̬³õʼ»¯¶ÌÐŹ¦ÄÜ
- if (this.permissions.status.sms === true) {
- printl('- ¶ÌÐŹÜÀí¹¦ÄÜÒÑÆôÓÃ');
- } else {
- printl('- ¶ÌÐŹÜÀí¹¦ÄÜÒѽûÓã¨ÐèÒª¶ÌÐÅȨÏÞ£©');
- }
-
- // ¸ù¾ÝÀ¶ÑÀȨÏÞ״̬³õʼ»¯À¶ÑÀ¹¦ÄÜ
- if (this.permissions.status.ble === true) {
- printl('- À¶ÑÀÉ豸Á¬½Ó¹¦ÄÜÒÑÆôÓÃ');
- } else {
- printl('- À¶ÑÀÉ豸Á¬½Ó¹¦ÄÜÒѽûÓã¨ÐèÒªÀ¶ÑÀȨÏÞ£©');
- }
- };
- // ȨÏÞ״̬¼à¿Ø£¨¶¨ÆÚ¼ì²éȨÏޱ仯£©
- MyApplication.prototype.monitorPermissions = function() {
- var self = this;
-
- // Ä£ÄⶨÆÚ¼ì²éȨÏÞ״̬
- function checkPermissionsPeriodically() {
- printl('\n=== ȨÏÞ״̬¼à¿Ø ===');
- var oldStatus = JSON.stringify(self.permissions.status);
- self.checkAllPermissions();
- var newStatus = JSON.stringify(self.permissions.status);
-
- if (oldStatus !== newStatus) {
- printl('¼ì²âµ½È¨ÏÞ״̬±ä»¯£¬ÖØÐ³õʼ»¯Ïà¹Ø¹¦ÄÜ');
- self.initOptionalFeatures();
- } else {
- printl('ȨÏÞ״̬Îޱ仯');
- }
-
- // Ä£ÄⶨʱÆ÷£¨Êµ¼ÊÓ¦ÓÃÖÐʹÓÃAIWROKÌṩµÄ¶¨Ê±Æ÷¹¦ÄÜ£©
- // setTimeout(checkPermissionsPeriodically, 30000); // ÿ30Ãë¼ì²éÒ»´Î
- }
-
- // Æô¶¯È¨ÏÞ¼à¿Ø
- checkPermissionsPeriodically();
- };
- // ====================== Ó¦ÓÃʵÀý»¯ÓëÆô¶¯ ======================
- // ´´½¨Ó¦ÓÃʵÀý
- var myApp = new MyApplication();
- // Æô¶¯Ó¦ÓÃ
- printl('\n\n=== Æô¶¯Ó¦Óà ===');
- var startupSuccess = myApp.init();
- if (startupSuccess) {
- printl('Ó¦ÓÃÆô¶¯³É¹¦£¡');
-
- // ÏÔʾ×îÖÕȨÏÞ״̬
- printl('\n=== ×îÖÕȨÏÞ״̬ ===');
- var finalStatus = myApp.permissions.status;
- for (var perm in finalStatus) {
- if (finalStatus.hasOwnProperty(perm)) {
- var statusText = finalStatus[perm] === true ? 'ÒÑÊÚȨ' : 'δÊÚȨ';
- printl(perm + ': ' + statusText);
- }
- }
-
- // Æô¶¯È¨ÏÞ¼à¿Ø
- myApp.monitorPermissions();
-
- } else {
- printl('Ó¦ÓÃÆô¶¯Ê§°Ü£¡Çë¼ì²é±ØÒªÈ¨ÏÞÉèÖá£');
- }
- // ====================== ËùÓз½·¨ÍêÕûÐÔ²âÊÔ ======================
- printl('\n\n=== ËùÓÐȨÏÞ·½·¨ÍêÕûÐÔ²âÊÔ ===');
- // ²âÊÔËùÓÐȨÏÞ¼ì²é·½·¨
- function testAllPermissionMethods() {
- var methods = [
- // ȨÏÞ¼ì²é·½·¨£¨´ø±ðÃû£©
- 'checkAccessPremission', 'checkAccessPermission',
- 'checkAllMustPremission', 'checkAllMustPermission',
- 'checkBLEPremission', 'checkBLEPermission',
- 'checkBatteryOptimization',
- 'checkCONTACTS',
- 'checkFloatPremission', 'checkFloatPermission',
- 'checkScreenShotPremission', 'checkScreenShotPermission',
- 'checkNeedPremission', 'checkNeedPermission',
- 'checkPremission', 'checkPermission',
- 'checkSMS',
-
- // ȨÏÞÇëÇó·½·¨£¨´ø±ðÃû£©
- 'requesAccessPremission', 'requestAccessPermission',
- 'requesBatteryOptimization', 'requestBatteryOptimization',
- 'requesFloatPremission', 'requestFloatPermission',
- 'requesScreenShotPremission', 'requestScreenShotPermission',
- 'requestAllPremission', 'requestAllPermission',
- 'requestBLEPremission', 'requestBLEPermission',
- 'requestPremission', 'requestPermission'
- ];
-
- var passed = 0;
- var failed = 0;
-
- printl('²âÊÔȨÏÞ¹ÜÀíÆ÷µÄËùÓз½·¨...');
-
- for (var i = 0; i < methods.length; i++) {
- var method = methods[i];
- try {
- if (typeof permissionManger[method] === 'function') {
- // ¶ÔÓÚ´ø²ÎÊýµÄ·½·¨£¬´«µÝÒ»¸ö²âÊÔ²ÎÊý
- var result;
- if (method === 'requestPremission' || method === 'requestPermission') {
- result = permissionManger[method]('test_param');
- } else {
- result = permissionManger[method]();
- }
- printl('✓ ' + method + ': ' + result);
- passed++;
- } else {
- printl('✗ ' + method + ': ·½·¨²»´æÔÚ');
- failed++;
- }
- } catch (e) {
- printl('✗ ' + method + ': µ÷ÓÃʧ°Ü - ' + e.message);
- failed++;
- }
- }
-
- printl('\n=== ²âÊÔ½á¹ûͳ¼Æ ===');
- printl('×Ü·½·¨Êý: ' + methods.length);
- printl('ͨ¹ý²âÊÔ: ' + passed);
- printl('ʧ°Ü²âÊÔ: ' + failed);
- printl('²âÊÔͨ¹ýÂÊ: ' + (passed / methods.length * 100).toFixed(1) + '%');
-
- return failed === 0;
- }
- // Ö´ÐÐÍêÕûÐÔ²âÊÔ
- testAllPermissionMethods();
- // ×¢Ò⣺
- // 1. ÔÚAIWROK»·¾³ÖУ¬ÔʼµÄpermissionMangerÊÇÒ»¸öJava¶ÔÏó£¬ÎÒÃDz»ÄÜÖ±½ÓΪËüÌí¼Ó»òÐ޸ķ½·¨
- // 2. ÕâÀï´´½¨ÁËÒ»¸öеÄJavaScript¶ÔÏópermissionMangerÀ´Ìæ»»Ôʼ¶ÔÏó
- // 3. ¸´ÖÆÁËÔʼ¶ÔÏóµÄËùÓÐÊôÐԺͷ½·¨£¬È»ºóÌí¼ÓÁËȱʧµÄ·½·¨
- // 4. µ±Java¶ÔÏóÖÐÓжÔÓ¦µÄ·½·¨Ê±£¬»áµ÷ÓÃJava·½·¨£»·ñÔòʹÓÃJavaScriptʵÏÖ
- // 5. ´úÂëÍêÈ«·ûºÏES5Óï·¨¹æ·¶£¬¼æÈÝRhinoÒýÇæ
- // 6. ʵÏÖÁËÍêÕûµÄ´íÎó´¦Àí»úÖÆ£¬È·±£ÔÚ¸÷ÖÖ»·¾³Ï¶¼ÄÜÎȶ¨ÔËÐÐ
- // 7. ËùÓÐȨÏÞÇëÇó·½·¨¶¼È·±£·µ»Ø²¼¶ûÖµ£¬±ÜÃâundefinedÖµµ¼ÖÂÓ¦ÓÃÂß¼´íÎó
- // 8. Ö§³Ö·½·¨±ðÃû£¨ÈçcheckAccessPremissionºÍcheckAccessPermission£©ÒÔÌá¸ß¼æÈÝÐÔ
¸´ÖÆ´úÂë
|
|