TimurVI Asked:2020-12-28 14:46:32 +0800 CST2020-12-28 14:46:32 +0800 CST 2020-12-28 14:46:32 +0800 CST 我需要授予Android系统应用程序的权限吗 772 有趣的是,预安装的(Calendar、Browser等Contacts)应用程序(在带有 的设备上)是否需要获得使用其 中任何资源OS Android的权限?Manifest permission或者只为第三方应用程序规定权限 ( ),特别是那些可以通过 ? 安装的应用程序Google Play? android 2 个回答 Voted Best Answer Barmaley 2020-12-28T16:15:39+08:002020-12-28T16:15:39+08:00 答案是肯定的和否定的。 是的,从某种意义上说,当然有必要在清单中声明权限, 不,从某种意义上说,对于某些权限,某些应用程序从出生就具有正确的证书,因此在运行时不需要确认。 正确的证书是来自设备供应商的证书,它是 Android 操作系统无条件信任的,不需要特殊的手鼓跳舞 selya 2020-12-28T14:58:26+08:002020-12-28T14:58:26+08:00 它们实际上是相同的应用程序。例如,这里是Settings我在源代码中找到的一段应用程序清单: <uses-permission android:name="android.permission.REQUEST_NETWORK_SCORES" /> <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" /> <uses-permission android:name="android.permission.NFC" /> <uses-permission android:name="android.permission.HARDWARE_TEST" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.MASTER_CLEAR" /> <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" /> <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIMAX_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIMAX_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="com.android.certinstaller.INSTALL_AS_USER" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.TETHER_PRIVILEGED" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/> <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/> <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/> <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/> <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/> <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> <uses-permission android:name="android.permission.BATTERY_STATS"/> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.MOVE_PACKAGE" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.BACKUP" /> <uses-permission android:name="android.permission.READ_SYNC_STATS" /> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.STATUS_BAR" /> <uses-permission android:name="android.permission.MANAGE_USB" /> <uses-permission android:name="android.permission.SET_POINTER_SPEED" /> <uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.COPY_PROTECTED_DATA" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" /> <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" /> <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE" /> <uses-permission android:name="android.permission.SET_TIME" /> <uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS" /> <uses-permission android:name="android.permission.REBOOT" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> <uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES" /> <uses-permission android:name="android.permission.OEM_UNLOCK_STATE" /> <uses-permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE" /> <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" /> <uses-permission android:name="android.permission.USE_FINGERPRINT" /> <uses-permission android:name="android.permission.MANAGE_FINGERPRINT" /> <uses-permission android:name="android.permission.USER_ACTIVITY" /> <uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE" /> <uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"/> <uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS"/> <uses-permission android:name="android.permission.DELETE_PACKAGES"/> <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"/> <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/> <uses-permission android:name="android.permission.READ_PRINT_SERVICES" /> <uses-permission android:name="android.permission.NETWORK_SETTINGS" /> 很多东西,对吧?取自这里。
答案是肯定的和否定的。
是的,从某种意义上说,当然有必要在清单中声明权限,
不,从某种意义上说,对于某些权限,某些应用程序从出生就具有正确的证书,因此在运行时不需要确认。
正确的证书是来自设备供应商的证书,它是 Android 操作系统无条件信任的,不需要特殊的手鼓跳舞
它们实际上是相同的应用程序。例如,这里是
Settings
我在源代码中找到的一段应用程序清单:很多东西,对吧?取自这里。