精华内容
下载资源
问答
  • 安卓权限

    2016-04-29 18:22:39
    今天用到安卓权限部分一些不常用的权限信息,于是就上网搜索了一下方便以后使用。 开发android程序的时候常常会设计到各种权限,程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, ...

    今天用到安卓权限部分一些不常用的权限信息,于是就上网搜索了一下方便以后使用。

    开发android程序的时候常常会设计到各种权限,程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求,

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限
    获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米
    获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内
    访问定位额外命令 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS,允许程序访问额外的定位提供者指令
    获取模拟定位信息 android.permission.ACCESS_MOCK_LOCATION,获取模拟定位信息,一般用于帮助开发者调试应用
    获取网络状态 android.permission.ACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效
    访问Surface Flinger android.permission.ACCESS_SURFACE_FLINGER,Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图
    获取WiFi状态 android.permission.ACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLAN热点的信息
    账户管理 android.permission.ACCOUNT_MANAGER,获取账户验证信息,主要为GMail账户信息,只有系统级进程才能访问的权限
    验证账户 android.permission.AUTHENTICATE_ACCOUNTS,允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息
    电量统计 android.permission.BATTERY_STATS,获取电池电量统计信息
    绑定小插件 android.permission.BIND_APPWIDGET,允许一个程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限
    绑定设备管理 android.permission.BIND_DEVICE_ADMIN,请求系统管理员接收者receiver,只有系统才能使用
    绑定输入法 android.permission.BIND_INPUT_METHOD ,请求InputMethodService服务,只有系统才能使用
    绑定RemoteView android.permission.BIND_REMOTEVIEWS,必须通过RemoteViewsService服务来请求,只有系统才能用
    绑定壁纸 android.permission.BIND_WALLPAPER,必须通过WallpaperService服务来请求,只有系统才能用
    使用蓝牙 android.permission.BLUETOOTH,允许程序连接配对过的蓝牙设备
    蓝牙管理 android.permission.BLUETOOTH_ADMIN,允许程序进行发现和配对新的蓝牙设备
    变成砖头 android.permission.BRICK,能够禁用手机,非常危险,顾名思义就是让手机变成砖头
    应用删除时广播 android.permission.BROADCAST_PACKAGE_REMOVED,当一个应用在删除时触发一个广播
    收到短信时广播 android.permission.BROADCAST_SMS,当收到短信时触发一个广播
    连续广播 android.permission.BROADCAST_STICKY,允许一个程序收到广播后快速收到下一个广播
    WAP PUSH广播 android.permission.BROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播
    拨打电话 android.permission.CALL_PHONE,允许程序从非系统拨号器里输入电话号码
    通话权限 android.permission.CALL_PRIVILEGED,允许程序拨打电话,替换系统的拨号器界面
    拍照权限 android.permission.CAMERA,允许访问摄像头进行拍照
    改变组件状态 android.permission.CHANGE_COMPONENT_ENABLED_STATE,改变组件是否启用状态
    改变配置 android.permission.CHANGE_CONFIGURATION,允许当前应用改变配置,如定位
    改变网络状态 android.permission.CHANGE_NETWORK_STATE,改变网络状态如是否能联网
    改变WiFi多播状态 android.permission.CHANGE_WIFI_MULTICAST_STATE,改变WiFi多播状态
    改变WiFi状态 android.permission.CHANGE_WIFI_STATE,改变WiFi状态
    清除应用缓存 android.permission.CLEAR_APP_CACHE,清除应用缓存
    清除用户数据 android.permission.CLEAR_APP_USER_DATA,清除应用的用户数据
    底层访问权限 android.permission.CWJ_GROUP,允许CWJ账户组访问底层信息
    手机优化大师扩展权限 android.permission.CELL_PHONE_MASTER_EX,手机优化大师扩展权限
    控制定位更新 android.permission.CONTROL_LOCATION_UPDATES,允许获得移动网络定位信息改变
    删除缓存文件 android.permission.DELETE_CACHE_FILES,允许应用删除缓存文件
    删除应用 android.permission.DELETE_PACKAGES,允许程序删除应用
    电源管理 android.permission.DEVICE_POWER,允许访问底层电源管理
    应用诊断 android.permission.DIAGNOSTIC,允许程序到RW到诊断资源
    禁用键盘锁 android.permission.DISABLE_KEYGUARD,允许程序禁用键盘锁
    转存系统信息 android.permission.DUMP,允许程序获取系统dump信息从系统服务
    状态栏控制 android.permission.EXPAND_STATUS_BAR,允许程序扩展或收缩状态栏
    工厂测试模式 android.permission.FACTORY_TEST,允许程序运行工厂测试模式
    使用闪光灯 android.permission.FLASHLIGHT,允许访问闪光灯
    强制后退 android.permission.FORCE_BACK,允许程序强制使用back后退按键,无论Activity是否在顶层
    访问账户Gmail列表 android.permission.GET_ACCOUNTS,访问GMail账户列表
    获取应用大小 android.permission.GET_PACKAGE_SIZE,获取应用的文件大小
    获取任务信息 android.permission.GET_TASKS,允许程序获取当前或最近运行的应用
    允许全局搜索 android.permission.GLOBAL_SEARCH,允许程序使用全局搜索功能
    硬件测试 android.permission.HARDWARE_TEST,访问硬件辅助设备,用于硬件测试
    注射事件 android.permission.INJECT_EVENTS,允许访问本程序的底层事件,获取按键、轨迹球的事件流
    安装定位提供 android.permission.INSTALL_LOCATION_PROVIDER,安装定位提供
    安装应用程序 android.permission.INSTALL_PACKAGES,允许程序安装应用
    内部系统窗口 android.permission.INTERNAL_SYSTEM_WINDOW,允许程序打开内部窗口,不对第三方应用程序开放此权限
    访问网络 android.permission.INTERNET,访问网络连接,可能产生GPRS流量
    结束后台进程 android.permission.KILL_BACKGROUND_PROCESSES,允许程序调用killBackgroundProcesses(String).方法结束后台进程
    管理账户 android.permission.MANAGE_ACCOUNTS,允许程序管理AccountManager中的账户列表
    管理程序引用 android.permission.MANAGE_APP_TOKENS,管理创建、摧毁、Z轴顺序,仅用于系统
    高级权限 android.permission.MTWEAK_USER,允许mTweak用户访问高级系统权限
    社区权限 android.permission.MTWEAK_FORUM,允许使用mTweak社区权限
    软格式化 android.permission.MASTER_CLEAR,允许程序执行软格式化,删除系统配置信息
    修改声音设置 android.permission.MODIFY_AUDIO_SETTINGS,修改声音设置信息
    修改电话状态 android.permission.MODIFY_PHONE_STATE,修改电话状态,如飞行模式,但不包含替换系统拨号器界面
    格式化文件系统 android.permission.MOUNT_FORMAT_FILESYSTEMS,格式化可移动文件系统,比如格式化清空SD卡
    挂载文件系统 android.permission.MOUNT_UNMOUNT_FILESYSTEMS,挂载、反挂载外部文件系统
    允许NFC通讯 android.permission.NFC,允许程序执行NFC近距离通讯操作,用于移动支持
    永久Activity android.permission.PERSISTENT_ACTIVITY,创建一个永久的Activity,该功能标记为将来将被移除
    处理拨出电话 android.permission.PROCESS_OUTGOING_CALLS,允许程序监视,修改或放弃播出电话
    读取日程提醒 android.permission.READ_CALENDAR,允许程序读取用户的日程信息
    读取联系人 android.permission.READ_CONTACTS,允许应用访问联系人通讯录信息
    屏幕截图 android.permission.READ_FRAME_BUFFER,读取帧缓存用于屏幕截图
    读取收藏夹和历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹和历史记录
    读取输入状态 android.permission.READ_INPUT_STATE,读取当前键的输入状态,仅用于系统
    读取系统日志 android.permission.READ_LOGS,读取系统底层日志
    读取电话状态 android.permission.READ_PHONE_STATE,访问电话状态
    读取短信内容 android.permission.READ_SMS,读取短信内容
    读取同步设置 android.permission.READ_SYNC_SETTINGS,读取同步设置,读取Google在线同步设置
    读取同步状态 android.permission.READ_SYNC_STATS,读取同步状态,获得Google在线同步状态
    重启设备 android.permission.REBOOT,允许程序重新启动设备
    开机自动允许 android.permission.RECEIVE_BOOT_COMPLETED,允许程序开机自动运行
    接收彩信 android.permission.RECEIVE_MMS,接收彩信
    接收短信 android.permission.RECEIVE_SMS,接收短信
    接收Wap Push android.permission.RECEIVE_WAP_PUSH,接收WAP PUSH信息
    录音 android.permission.RECORD_AUDIO,录制声音通过手机或耳机的麦克
    排序系统任务 android.permission.REORDER_TASKS,重新排序系统Z轴运行中的任务
    结束系统任务 android.permission.RESTART_PACKAGES,结束任务通过restartPackage(String)方法,该方式将在外来放弃
    发送短信 android.permission.SEND_SMS,发送短信
    设置Activity观察其 android.permission.SET_ACTIVITY_WATCHER,设置Activity观察器一般用于monkey测试
    设置闹铃提醒 com.android.alarm.permission.SET_ALARM,设置闹铃提醒
    设置总是退出 android.permission.SET_ALWAYS_FINISH,设置程序在后台是否总是退出
    设置动画缩放 android.permission.SET_ANIMATION_SCALE,设置全局动画缩放
    设置调试程序 android.permission.SET_DEBUG_APP,设置调试程序,一般用于开发
    设置屏幕方向 android.permission.SET_ORIENTATION,设置屏幕方向为横屏或标准方式显示,不用于普通应用
    设置应用参数 android.permission.SET_PREFERRED_APPLICATIONS,设置应用的参数,已不再工作具体查看addPackageToPreferred(String) 介绍
    设置进程限制 android.permission.SET_PROCESS_LIMIT,允许程序设置最大的进程数量的限制
    设置系统时间 android.permission.SET_TIME,设置系统时间
    设置系统时区 android.permission.SET_TIME_ZONE,设置系统时区
    设置桌面壁纸 android.permission.SET_WALLPAPER,设置桌面壁纸
    设置壁纸建议 android.permission.SET_WALLPAPER_HINTS,设置壁纸建议
    发送永久进程信号 android.permission.SIGNAL_PERSISTENT_PROCESSES,发送一个永久的进程信号
    状态栏控制 android.permission.STATUS_BAR,允许程序打开、关闭、禁用状态栏
    访问订阅内容 android.permission.SUBSCRIBED_FEEDS_READ,访问订阅信息的数据库
    写入订阅内容 android.permission.SUBSCRIBED_FEEDS_WRITE,写入或修改订阅内容的数据库
    显示系统窗口 android.permission.SYSTEM_ALERT_WINDOW,显示系统窗口
    更新设备状态 android.permission.UPDATE_DEVICE_STATS,更新设备状态
    使用证书 android.permission.USE_CREDENTIALS,允许程序请求验证从AccountManager
    使用SIP视频 android.permission.USE_SIP,允许程序使用SIP视频服务
    使用振动 android.permission.VIBRATE,允许振动
    唤醒锁定 android.permission.WAKE_LOCK,允许程序在手机屏幕关闭后后台进程仍然运行
    写入GPRS接入点设置 android.permission.WRITE_APN_SETTINGS,写入网络GPRS接入点设置
    写入日程提醒 android.permission.WRITE_CALENDAR,写入日程,但不可读取
    写入联系人 android.permission.WRITE_CONTACTS,写入联系人,但不可读取
    写入外部存储 android.permission.WRITE_EXTERNAL_STORAGE,允许程序写入外部存储,如SD卡上写文件
    写入Google地图数据 android.permission.WRITE_GSERVICES,允许程序写入Google Map服务数据
    写入收藏夹和历史记录 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹,但不可读取
    读写系统敏感设置 android.permission.WRITE_SECURE_SETTINGS,允许程序读写系统安全敏感的设置项
    读写系统设置 android.permission.WRITE_SETTINGS,允许读写系统设置项
    编写短信 android.permission.WRITE_SMS,允许编写短信
    写入在线同步设置 android.permission.WRITE_SYNC_SETTINGS,写入Google在线同步设置
    展开全文
  • 安卓 权限

    千次阅读 2018-07-05 08:53:14
    android:label="WXEntryActivity"03-28 17:44:59.252 1989-1989/? V/InputMethodService: onEvaluateInputViewShown: config.hardKeyboardHidden = 103-28 17:44:59.254 1865-2295/? W/ActivityManager: ...
    android:label="WXEntryActivity"




    03-28 17:44:59.252 1989-1989/? V/InputMethodService: onEvaluateInputViewShown: config.hardKeyboardHidden = 1
    03-28 17:44:59.254 1865-2295/? W/ActivityManager: Failed setting process group of 1989 to -1
    03-28 17:44:59.254 1865-2295/? W/System.err: java.lang.SecurityException: No permission to modify given thread
    03-28 17:44:59.254 1865-2295/? W/System.err:     at android.os.Process.setProcessGroup(Native Method)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.am.ActivityManagerService.applyOomAdjLocked(ActivityManagerService.java:17971)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:18140)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:18218)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:819)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.am.ActivityManagerService.bindService(ActivityManagerService.java:15380)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1802)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1778)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.InputMethodManagerService.bindCurrentInputMethodService(InputMethodManagerService.java:1006)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.InputMethodManagerService.showCurrentInputLocked(InputMethodManagerService.java:1891)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.InputMethodManagerService.windowGainedFocus(InputMethodManagerService.java:2099)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.internal.view.IInputMethodManager$Stub.onTransact(IInputMethodManager.java:221)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at com.android.server.InputMethodManagerService.onTransact(InputMethodManagerService.java:873)
    03-28 17:44:59.254 1865-2295/? W/System.err:     at android.os.Binder.execTransact(Binder.java:446)
    03-28 17:44:59.256 1865-2295/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1327 com.android.server.InputMethodManagerService.showCurrentInputLocked:1902 com.android.server.InputMethodManagerService.windowGainedFocus:2099 com.android.internal.view.IInputMethodManager$Stub.onTransact:221 com.android.server.InputMethodManagerService.onTransact:873 
    03-28 17:44:59.273 4241-4457/com.wellhome.cloudgroup.emecloud D/JIGUANG-JCore: [HttpHelper] status code:200
    03-28 17:44:59.749 2029-2333/? W/DebugConnManager: getNetworkInfo() on networkType 1
    03-28 17:45:00.595 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.WXMsgImplComm: check signature:308202eb30820254a00302010202044d36f7a4300d06092a864886f70d01010505003081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e74301e170d3131303131393134333933325a170d3431303131313134333933325a3081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100c05f34b231b083fb1323670bfbe7bdab40c0c0a6efc87ef2072a1ff0d60cc67c8edb0d0847f210bea6cbfaa241be70c86daf56be08b723c859e52428a064555d80db448cdcacc1aea2501eba06f8bad12a4fa49d85cacd7abeb68945a5cb5e061629b52e3254c373550ee4e40cb7c8ae6f7a8151ccd8df582d446f39ae0c5e930203010001300d06092a864886f70d0101050500038181009c8d9d7f2f908c42081b4c764c377109a8b2c70582422125ce545842d5f520aea69550b6bd8bfd94e987b75a3077eb04ad341f481aac266e89d3864456e69fba13df018acdc168b9a19dfd7ad9d9cc6f6ace57c746515f71234df3a053e33ba93ece5cd0fc15f3e389a3f365588a9fcb439e069d3629cd7732a13fff7b891499
    03-28 17:45:00.595 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.WXMsgImplComm: pass
    03-28 17:45:00.595 4241-4241/com.wellhome.cloudgroup.emecloud I/MicroMsg.SDK.WXApiImplV10: sendReq, req type = 1
    03-28 17:45:00.595 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.MMessageAct: send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXEntryActivity
    03-28 17:45:00.595 1865-5477/? I/ActivityManager: START u0 {flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXEntryActivity (has extras)} from uid 10040 on display 0
    03-28 17:45:00.598 1865-5477/? V/WindowManager: addAppToken: AppWindowToken{318579d6 token=Token{c9e29f1 ActivityRecord{4876d98 u0 com.tencent.mm/.plugin.base.stub.WXEntryActivity t391}}} to stack=1 task=391 at 0
    03-28 17:45:00.602 1563-1563/? E/EGL_emulation: tid 1563: eglCreateSyncKHR(1344): error 0x3004 (EGL_BAD_ATTRIBUTE)
    03-28 17:45:00.613 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.MMessageAct: send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXEntryActivity (has extras) }
    03-28 17:45:00.637 4241-4305/com.wellhome.cloudgroup.emecloud W/EGL_emulation: eglSurfaceAttrib not implemented 3093 12436
    03-28 17:45:00.637 4241-4305/com.wellhome.cloudgroup.emecloud W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa1028f40, error=EGL_SUCCESS
    03-28 17:45:00.655 1865-2457/? I/ActivityManager: START u0 {flg=0x18000000 cmp=com.wellhome.cloudgroup.emecloud/.wxapi.WXEntryActivity (has extras)} from uid 10039 on display 0
    03-28 17:45:00.659 1865-17048/? W/ActivityManager: Finishing task with all activities already finished
    03-28 17:45:00.659 1865-17048/? W/ActivityManager: Duplicate finish request for ActivityRecord{4876d98 u0 com.tencent.mm/.plugin.base.stub.WXEntryActivity t391 f}
    03-28 17:45:00.670 1865-22787/? W/InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@3652cef3 attribute=null, token = android.os.BinderProxy@f191bdc
    03-28 17:45:00.784 2927-4460/? W/art: Native thread exiting without having called DetachCurrentThread (maybe it's going to use a pthread_key_create destructor?): Thread[28,tid=4460,Native,Thread*=0x917d3800,peer=0x12d93d60,"default"]
    03-28 17:45:01.810 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.WXMsgImplComm: check signature:308202eb30820254a00302010202044d36f7a4300d06092a864886f70d01010505003081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e74301e170d3131303131393134333933325a170d3431303131313134333933325a3081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100c05f34b231b083fb1323670bfbe7bdab40c0c0a6efc87ef2072a1ff0d60cc67c8edb0d0847f210bea6cbfaa241be70c86daf56be08b723c859e52428a064555d80db448cdcacc1aea2501eba06f8bad12a4fa49d85cacd7abeb68945a5cb5e061629b52e3254c373550ee4e40cb7c8ae6f7a8151ccd8df582d446f39ae0c5e930203010001300d06092a864886f70d0101050500038181009c8d9d7f2f908c42081b4c764c377109a8b2c70582422125ce545842d5f520aea69550b6bd8bfd94e987b75a3077eb04ad341f481aac266e89d3864456e69fba13df018acdc168b9a19dfd7ad9d9cc6f6ace57c746515f71234df3a053e33ba93ece5cd0fc15f3e389a3f365588a9fcb439e069d3629cd7732a13fff7b891499
    03-28 17:45:01.810 4241-4241/com.wellhome.cloudgroup.emecloud D/MicroMsg.SDK.WXMsgImplComm: pass
    03-28 17:45:01.810 4241-4241/com.wellhome.cloudgroup.emecloud I/MicroMsg.SDK.WXApiImplV10: sendReq, req type = 1
    展开全文
  • 本文主要记录安卓权限和安卓动态权限及动态权限的使用方法 安卓权限大全 安卓动态权限的使用方法 一、安卓权限大全 常用权限 访问网络 android.permission.INTERNET访问网络...

    本文主要记录安卓权限和安卓动态权限及动态权限的使用方法

     

     

    一、安卓权限大全 

     

    常用权限

    访问网络

    android.permission.INTERNET
    访问网络连接可能产生GPRS流量

    写入外部存储

    android.permission.WRITE_EXTERNAL_STORAGE
    允许程序写入外部存储,如SD卡上写文件

    获取网络状态

    android.permission.ACCESS_NETWORK_STATE
    获取网络信息状态,如当前的网络连接是否有效

    拨打电话

    android.permission.CALL_PHONE
    允许程序从非系统拨号器里输入电话号码

    拍照权限

    android.permission.CAMERA
    允许访问摄像头进行拍照

    读取电话状态

    android.permission.READ_PHONE_STATE
    访问电话状态

    读取短信内容

    android.permission.READ_SMS
    读取短信内容

    写入联系人

    android.permission.WRITE_CONTACTS
    写入联系人,但不可读取

    设置屏幕方向

    android.permission.SET_ORIENTATION
    设置屏幕方向为横屏或标准方式显示,不用于普通应用

    其他权限

    访问登记属性

    android.permission.ACCESS_CHECKIN_PROPERTIES
    读取或写入登记check-in数据库属性表的权限

     

    获取精确位置

    android.permission.ACCESS_FINE_LOCATION
    通过GPS芯片接收卫星的定位信息
    定位精度达10米以内

    访问定位额外命令

    android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
    允许程序访问额外的定位提供者指令

    获取模拟定位信息

    android.permission.ACCESS_MOCK_LOCATION
    获取模拟定位信息
    一般用于帮助开发者调试应用

    访问
    Surface Flinger

    android.permission.ACCESS_SURFACE_FLINGER
    Android平台上底层的图形显示支持
    一般用于游戏或照相机预览界面和底层模式的屏幕截图

    获取WiFi状态

    android.permission.ACCESS_WIFI_STATE
    获取当前WiFi接入的状态以及WLAN热点的信息

    账户管理

    android.permission.ACCOUNT_MANAGER
    获取账户验证信息
    主要为GMail账户信息
    只有系统级进程才能访问的权限

    验证账户

    android.permission.AUTHENTICATE_ACCOUNTS
    允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息

    电量统计

    android.permission.BATTERY_STATS
    获取电池电量统计信息

    绑定小插件

    android.permission.BIND_APPWIDGET
    允许一个程序告诉appWidget服务需要访问小插件的数据库
    只有非常少的应用才用到此权限

    绑定设备管理

    android.permission.BIND_DEVICE_ADMIN
    请求系统管理员接收者receiveR
    只有系统才能使用

    绑定输入法

    android.permission.BIND_INPUT_METHOD
    请求InputMethodService服务
    只有系统才能使用

    绑定RemoteView

    android.permission.BIND_REMOTEVIEWS
    必须通过RemoteViewsService服务来请求
    只有系统才能用

    绑定壁纸

    android.permission.BIND_WALLPAPER
    必须通过WallpaperService服务来请求
    只有系统才能用

    使用蓝牙

    android.permission.BLUETOOTH
    允许程序连接配对过的蓝牙设备

    蓝牙管理

    android.permission.BLUETOOTH_ADMIN
    允许程序进行发现和配对新的蓝牙设备

    变成砖头

    android.permission.BRICK
    能够禁用手机
    非常危险
    顾名思义就是让手机变成砖头

    应用删除时广播

    android.permission.BROADCAST_PACKAGE_REMOVED
    当一个应用在删除时触发一个广播

    收到短信时广播

    android.permission.BROADCAST_SMS
    当收到短信时触发一个广播

    连续广播

    android.permission.BROADCAST_STICKY
    允许一个程序收到广播后快速收到下一个广播

    WAP PUSH广播

    android.permission.BROADCAST_WAP_PUSH
    WAP PUSH服务收到后触发一个广播

    通话权限

    android.permission.CALL_PRIVILEGED
    允许程序拨打电话
    替换系统的拨号器界面

    改变组件状态

    android.permission.CHANGE_COMPONENT_ENABLED_STATE
    改变组件是否启用状态

    改变配置

    android.permission.CHANGE_CONFIGURATION
    允许当前应用改变配置,如定位

    改变网络状态

    android.permission.CHANGE_NETWORK_STATE
    改变网络状态如是否能联网

    改变WiFi多播状态

    android.permission.CHANGE_WIFI_MULTICAST_STATE
    改变WiFi多播状态

    改变WiFi状态

    android.permission.CHANGE_WIFI_STATE
    改变WiFi状态

    清除应用缓存

    android.permission.CLEAR_APP_CACHE
    清除应用缓存

    清除用户数据

    android.permission.CLEAR_APP_USER_DATA
    清除应用的用户数据

    底层访问权限

    android.permission.CWJ_GROUP
    允许CWJ账户组访问底层信息

    手机优化大师扩展权限

    android.permission.CELL_PHONE_MASTER_EX
    手机优化大师扩展权限

    控制定位更新

    android.permission.CONTROL_LOCATION_UPDATES
    允许获得移动网络定位信息改变

    删除缓存文件

    android.permission.DELETE_CACHE_FILES
    允许应用删除缓存文件

    删除应用

    android.permission.DELETE_PACKAGES
    允许程序删除应用

    电源管理

    android.permission.DEVICE_POWER
    允许访问底层电源管理

    应用诊断

    android.permission.DIAGNOSTIC
    允许程序到RW到诊断资源

    禁用键盘锁

    android.permission.DISABLE_KEYGUARD
    允许程序禁用键盘锁

    转存系统信息

    android.permission.DUMP
    允许程序获取系统dump信息从系统服务

    状态栏控制

    android.permission.EXPAND_STATUS_BAR
    允许程序扩展或收缩状态栏

    工厂测试模式

    android.permission.FACTORY_TEST
    允许程序运行工厂测试模式

    使用闪光灯

    android.permission.FLASHLIGHT
    允许访问闪光灯

    强制后退

    android.permission.FORCE_BACK
    允许程序强制使用back后退按键,无论Activity是否在顶层

    访问账户Gmail列表

    android.permission.GET_ACCOUNTS
    访问GMail账户列表

    获取应用大小

    android.permission.GET_PACKAGE_SIZE
    获取应用的文件大小

    获取任务信息

    android.permission.GET_TASKS
    允许程序获取当前或最近运行的应用

    允许全局搜索

    android.permission.GLOBAL_SEARCH
    允许程序使用全局搜索功能

    硬件测试

    android.permission.HARDWARE_TEST
    访问硬件辅助设备,用于硬件测试

    注射事件

    android.permission.INJECT_EVENTS
    允许访问本程序的底层事件,获取按键、轨迹球的事件流

    安装定位提供

    android.permission.INSTALL_LOCATION_PROVIDER
    安装定位提供

    安装应用程序

    android.permission.INSTALL_PACKAGES
    允许程序安装应用

    内部系统窗口

    android.permission.INTERNAL_SYSTEM_WINDOW
    允许程序打开内部窗口,不对第三方应用程序开放此权限

    结束后台进程

    android.permission.KILL_BACKGROUND_PROCESSES
    允许程序调用killBackgroundProcesses(String).方法结束后台进程

    管理账户

    android.permission.MANAGE_ACCOUNTS
    允许程序管理AccountManager中的账户列表

    管理程序引用

    android.permission.MANAGE_APP_TOKENS
    管理创建、摧毁、Z轴顺序,仅用于系统

    高级权限

    android.permission.MTWEAK_USER
    允许mTweak用户访问高级系统权限

    社区权限

    android.permission.MTWEAK_FORUM
    允许使用mTweak社区权限

    软格式化

    android.permission.MASTER_CLEAR
    允许程序执行软格式化,删除系统配置信息

    修改声音设置

    android.permission.MODIFY_AUDIO_SETTINGS
    修改声音设置信息

    修改电话状态

    android.permission.MODIFY_PHONE_STATE
    修改电话状态,如飞行模式,但不包含替换系统拨号器界面

    格式化文件系统

    android.permission.MOUNT_FORMAT_FILESYSTEMS
    格式化可移动文件系统,比如格式化清空SD卡

    挂载文件系统

    android.permission.MOUNT_UNMOUNT_FILESYSTEMS
    挂载、反挂载外部文件系统

    允许NFC通讯

    android.permission.NFC
    允许程序执行NFC近距离通讯操作,用于移动支持

    永久Activity

    android.permission.PERSISTENT_ACTIVITY
    创建一个永久的ActivitY,该功能标记为将来将被移除

    处理拨出电话

    android.permission.PROCESS_OUTGOING_CALLS
    允许程序监视,修改或放弃播出电话

    读取日程提醒

    android.permission.READ_CALENDAR
    允许程序读取用户的日程信息

    读取联系人

    android.permission.READ_CONTACTS
    允许应用访问联系人通讯录信息

    屏幕截图

    android.permission.READ_FRAME_BUFFER
    读取帧缓存用于屏幕截图

    读取收藏夹和历史记录

    com.android.browser.permission.READ_HISTORY_BOOKMARKS
    读取浏览器收藏夹和历史记录

    读取输入状态

    android.permission.READ_INPUT_STATE
    读取当前键的输入状态,仅用于系统

    读取系统日志

    android.permission.READ_LOGS
    读取系统底层日志

    读取同步设置

    android.permission.READ_SYNC_SETTINGS
    读取同步设置,读取Google在线同步设置

    读取同步状态

    android.permission.READ_SYNC_STATS
    读取同步状态,获得Google在线同步状态

    重启设备

    android.permission.REBOOT
    允许程序重新启动设备

    开机自动允许

    android.permission.RECEIVE_BOOT_COMPLETED
    允许程序开机自动运行

    接收彩信

    android.permission.RECEIVE_MMS
    接收彩信

    接收短信

    android.permission.RECEIVE_SMS
    接收短信

    接收Wap Push

    android.permission.RECEIVE_WAP_PUSH
    接收WAP PUSH信息

    录音

    android.permission.RECORD_AUDIO
    录制声音通过手机或耳机的麦克

    排序系统任务

    android.permission.REORDER_TASKS
    重新排序系统Z轴运行中的任务

    结束系统任务

    android.permission.RESTART_PACKAGES
    结束任务通过restartPackage(String)方法
    该方式将在外来放弃

    发送短信

    android.permission.SEND_SMS
    发送短信

    设置Activity观察其

    android.permission.SET_ACTIVITY_WATCHER
    设置Activity观察器一般用于monkey测试

    设置闹铃提醒

    com.android.alarm.permission.SET_ALARM
    设置闹铃提醒

    设置总是退出

    android.permission.SET_ALWAYS_FINISH
    设置程序在后台是否总是退出

    设置动画缩放

    android.permission.SET_ANIMATION_SCALE
    设置全局动画缩放

    设置调试程序

    android.permission.SET_DEBUG_APP
    设置调试程序
    一般用于开发

    设置应用参数

    android.permission.SET_PREFERRED_APPLICATIONS
    设置应用的参数
    已不再工作具体查看addPackageToPreferred(String) 介绍

    设置进程限制

    android.permission.SET_PROCESS_LIMIT
    允许程序设置最大的进程数量的限制

    设置系统时间

    android.permission.SET_TIME
    设置系统时间

    设置系统时区

    android.permission.SET_TIME_ZONE
    设置系统时区

    设置桌面壁纸

    android.permission.SET_WALLPAPER
    设置桌面壁纸

    设置壁纸建议

    android.permission.SET_WALLPAPER_HINTS
    设置壁纸建议

    发送永久进程信号

    android.permission.SIGNAL_PERSISTENT_PROCESSES
    发送一个永久的进程信号

    状态栏控制

    android.permission.STATUS_BAR
    允许程序打开、关闭、禁用状态栏

    访问订阅内容

    android.permission.SUBSCRIBED_FEEDS_READ
    访问订阅信息的数据库

    写入订阅内容

    android.permission.SUBSCRIBED_FEEDS_WRITE
    写入或修改订阅内容的数据库

    显示系统窗口

    android.permission.SYSTEM_ALERT_WINDOW
    显示系统窗口

    更新设备状态

    android.permission.UPDATE_DEVICE_STATS
    更新设备状态

    使用证书

    android.permission.USE_CREDENTIALS
    允许程序请求验证从AccountManager

    使用SIP视频

    android.permission.USE_SIP
    允许程序使用SIP视频服务

    使用振动

    android.permission.VIBRATE
    允许振动

    唤醒锁定

    android.permission.WAKE_LOCK
    允许程序在手机屏幕关闭后后台进程仍然运行

    写入GPRS接入点设置

    android.permission.WRITE_APN_SETTINGS
    写入网络GPRS接入点设置

    写入日程提醒

    android.permission.WRITE_CALENDAR
    写入日程
    但不可读取

    写入Google地图数据

    android.permission.WRITE_GSERVICES
    允许程序写入Google Map服务数据

    写入收藏夹和历史记录

    com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
    写入浏览器历史记录或收藏夹,但不可读取

    读写系统敏感设置

    android.permission.WRITE_SECURE_SETTINGS
    允许程序读写系统安全敏感的设置项

    读写系统设置

    android.permission.WRITE_SETTINGS
    允许读写系统设置项

    编写短信

    android.permission.WRITE_SMS
    允许编写短信

    写入在线同步设置

    android.permission.WRITE_SYNC_SETTINGS
    写入Google在线同步设置

     

     

     二、安卓动态权限及使用方法

     

    说明:

    • Android 6.0之前,权限在应用安装过程中只询问一次,以列表的形式展现给用户,然而大多数用户并不会注意到这些,直接就下一步了,应用安装成功后就会被赋予清单文件中的所有权限,应用就可以在用户不知情的情况下进行非法操作(比如偷偷的上传用户数据)。
    • 安卓系统的权限管理机制从API 23 (也就是Android 6.0 又叫做 Android M,)之后发生了比较大的改变,在一些比较危险的权限上要求必须申请动态权限,即使你在AndroidMainfest.xml文件中申请也没有任何用,或者你可以将编译的目标版本设定这API 22,这样就可以了。

     

    需要动态申请的权限如下:

    1. READ_CALENDAR , WRITE_CALENDAR 读写日历权限
    2. CAMERA 调用相机权限
    3. READ_CONTACTS , WRITE_CONTACTS , GET_ACCOUNTS 通讯录权限
    4. ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION 定位权限
    5. RECORD_AUDIO 录音权限
    6. READ_PHONE_STATE ,CALL_PHONE READ_CALL_LOG, WRITE_CALL_LOG ADD_VOICEMAIL//手机状态相关
    7. BODY_SENSORS 传感器权限
    8. SMS SEND_SMS ,RECEIVE_SMS ,READ_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS SMS消息权限
      10.READ_EXTERNAL_STORAGE ,WRITE_EXTERNAL_STORAGE 外部存储权限

     

    动态申请权限步骤:

     

    一、在AndroidMainfest.xml文件中申明权限

        具体操作和安卓6.0以下的操作相同

     

     

     二、判断安卓系统版本

     

    安卓6.0以下,低于API23以下是不需要进行动态权限申请的,所以动态申请权限先进行版本判断

      if (Build.VERSION.SDK_INT>=23) {        
                //此处做动态权限申请    
        }
      else {      
            //低于23 不需要特殊处理   
         }

     

     

    三、检查权限

    通过步骤二如果判断版本高于API23,则进行权限检查,检查当前应用中是否存在所需要的权限

    //检测是否有写的权限
    参数:上下文的context和权限的名称
    返回两种情况:PERMISSION_GRANTED 存在权限以及PERMISSION_DENIED 不存在权限
     int permission = ActivityCompat.checkSelfPermission(getApplicationContext(), "android.permission.WRITE_EXTERNAL_STORAGE");  //  

     

     

    四、进行权限申请

     if (permission != PackageManager.PERMISSION_GRANTED) {
                            // 没有写的权限,去申请写的权限,会弹出对话框,第一个参数是上下文,第二个参数是数组对象,第三个参数是唯一对应的请求码,请求码大小要介于0-65535之间
                            ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.CAMERA},1);
                        }

     

    完整代码

    //                进行版本判断
                    if (Build.VERSION.SDK_INT >= 23) {
    //                    进行动态申请
                        //检测是否有写的权限
                        int permission = ActivityCompat.checkSelfPermission(getApplicationContext(),
                                "android.permission.WRITE_EXTERNAL_STORAGE");
                        // 没有写的权限,去申请写的权限,会弹出对话框
                        if (permission != PackageManager.PERMISSION_GRANTED) {
                            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, 1);
                        }
                    } else {
    //                    不进行操作
    
                    }
                }

     

     

     

     

     

    转载于:https://www.cnblogs.com/lyd447113735/p/8658583.html

    展开全文
  • 安卓权限管理

    2016-10-19 11:50:25
    安卓权限管理

    写在基类中,安卓6.0以上权限请求管理,没有做版本判断,直接做判断请求

     /**
         * 权限请求成功回调
         * @param perissions 请求成功的权限集合
         */
        public void  perissionRequestSuccessCallback(String perissions[]){
    
        }
        /**
         * 权限请求失败回调
         * @param perissions 请求失败的权限集合
         */
        public void  perissionRequestFailCallback(String perissions[]){
    
        }
    
        private final int permissionsRequestCode = 0;
        public void perissionRequest(String permissions[]){
            List<String> noPermissions = new ArrayList<>();
            for(int i = 0 ; i < permissions.length ; i++){
                if (ContextCompat.checkSelfPermission(context,
                        permissions[i])
                        != PackageManager.PERMISSION_GRANTED) {
                    noPermissions.add(permissions[i]);
                }
            }
    
            if(noPermissions.size() != 0){
                String[] strings = new String[noPermissions.size()];
                for(int i = 0 ; i < noPermissions.size() ; i++){
                    strings[i] = noPermissions.get(i);
                }
                ActivityCompat.requestPermissions(this, strings,
                        permissionsRequestCode);
            }else {
                perissionRequestSuccessCallback(new String[]{});
            }
        }
    
        @Override
        public void onRequestPermissionsResult(int requestCode,
                                               String permissions[], int[] grantResults) {
            switch (requestCode) {
                case permissionsRequestCode: {
                    // If request is cancelled, the result arrays are empty.
    
                    List<String> successPermissionList = new ArrayList<>();
                    List<String> failPermissionList = new ArrayList<>();
    
                    if(grantResults.length > 0 && grantResults.length == permissions.length) {
                        for (int i = 0; i < permissions.length; i++) {
                            if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                                successPermissionList.add(permissions[i]);
                                LogUtils.logI("用户同意权限", "user granted the permission!" + permissions[i]);
                            } else {
                                LogUtils.logI("用户不同意权限", "user denied the permission!" + permissions[i]);
                                failPermissionList.add(permissions[i]);
                            }
                        }
                    }else {
                        for(int i = 0 ; i < permissions.length ; i++){
                            failPermissionList.add(permissions[i]);
                        }
                    }
    
                    String[] successPermissions = new String[successPermissionList.size()];
                    for(int i = 0 ; i < successPermissionList.size() ; i++){
                        successPermissions[i] = successPermissionList.get(i);
                    }
                    String[] failPermissions = new String[failPermissionList.size()];
                    for(int i = 0 ; i < successPermissionList.size() ; i++){
                        failPermissions[i] = failPermissionList.get(i);
                    }
                    perissionRequestSuccessCallback(successPermissions);
                    perissionRequestFailCallback(failPermissions);
                    return;
                }
            }
        }
    展开全文
  • Unity 自带方法获取安卓权限

    千次阅读 2020-03-10 16:04:51
    Unity 自带方法获取安卓权限 Unity 安卓权限获取方法
  • 安卓权限,权限说明
  • 安卓权限问题

    2020-12-01 16:32:02
    <div><p>为什么安卓的 WRITE_EXTERNAL_STORAGE 权限限定到 API22?</p><p>该提问来源于开源项目:iVanPan/Cordova_QQ</p></div>
  • 火山安卓权限的动态申请 一、布局 ①添加3个按钮 ②将窗口改为权限窗口,并添加两条权限设置 二、申请权限 创建按钮单击事件 ①读权限 创建权限1变量,再请求读权限 “请求权限 (权限1, 0)”,后边的0是标记,后边...
  • 安卓权限笔记

    2020-02-22 16:21:57
    在写发现权限挺重要的,几乎都得用到,因为本人手机为安卓9.0版本,做啥都要申请权限,写了好几个,都需要用到,因此,趁这个时间,看一下权限方面,整理一段能够直接用的权限申请代码。 高版本的安卓什么权限都...
  • ,则就没必要添加读的权限了,写权限已经包含了读权限了。 60.android.permission.READ_CONTACTS允许程序访问联系人通讯录信息 61.android.permission.READ_CALL_LOG读取通话记录 62.android.permission.READ_...
  • 一,什么是安卓权限 程序要调用摄像头进行摄像,要进行定位获得经纬度坐标等等均涉及到安卓权限。 在安卓6.0(也就是Android M,对应的API为23)之前,通过在AndroidManifest.xml文件中声明<uses-permission ...
  • 安卓权限详解

    万次阅读 2017-11-08 11:12:11
    在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。 android....
  • 安卓权限详细介绍

    千次阅读 2013-10-10 14:36:12
    安卓权限详细介绍  开发android程序的时候常常会设计到各种权限,程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求,各种权限说明如下:  android.permission.ACCESS_CHECKIN_...
  • 安卓权限设置文件

    2018-08-14 11:55:12
    预置对应目录下文件的权限。这个权限是很重要的,别忽视
  • 安卓权限申请处理框架Android-UsesPermission 安卓权限申请封装处理框架。测试支持4.0+。项目源于正式处理Android权限问题时,没找到简单、能满足被拒绝权限自动会到系统设置处理的框架,按自己的编程习惯造一个...
  • robotframework appium 安卓权限问题

    千次阅读 2018-05-22 18:39:00
    robotframework 安卓权限问题 在使用rf + appium 做UI 自动化的时候,总是会遇到请求权限的弹框 而且各个机型上的弹窗,可能还不相同,这就比较坑了 机型那么多,不可能每个机型都去做一下兼容 所以就上网找了各种...
  • 安卓权限框架

    2020-02-27 14:08:50
    Manifest文件添加权限声明 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 添加申请权限开源包依赖 implementation 'com.afollestad:assent:2.3.1' 申请权限及读写...
  • 安卓权限大全

    2020-11-11 15:32:52
    android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permission.ACCESS_COARSE_LOCATION 获取错略位置 通过WiFi或移动基站的方式获取用户错略的经纬度...
  • 安卓 权限 规则

    2017-08-17 14:35:00
    安卓的 apk 的 必须 签名 基于 userID的 进程级别的安全机制。 默认apk 生成的数据 对外 是不可见的...安卓清单 中的 显式权限 显式就是 明显指明的方式 转载于:https://www.cnblogs.com/yue31313/p/7381498...
  • 安卓权限获取

    2020-01-03 19:51:14
    android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位...
  • 安卓权限说明

    2019-07-24 15:08:03
    权限 用途 You Package.permission.JPUSH_MESSAGE 官方定义的权限,允许应用接收JPush内部代码发送的广播消息 RECEIVE_USER_PRESENT 允许应用可以接收点亮屏幕或解锁广播 INTERNET 允许应用可以...
  • 上篇博客解决了安卓权限的调用和成功与否的验证流程: 申请权限---&gt;已授权---&gt;直接操作 ----&gt;未授权---&gt;返回fasle可参考 :...
  • 安卓权限列表

    2018-10-02 19:19:34
      ... 危险权限   CALENDAR READ_CALENDAR WRITE_CALENDAR   CAMERA CAMERA   CONTACTS READ_CONTACTS WRITE_CONTACTS ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,346
精华内容 2,138
关键字:

安卓权限