Android 限制对许多功能的访问。应用程序必须声明它所需的权限。有两种不同的声明:清单和用户。用户权限是清单权限的子集。
一般来说,您必须研究您的应用程序所需的权限。抵制盲目猜测的诱惑。
注意:从 Android API 33 开始,共享存储权限的名称发生了变化。
清单权限
清单权限在文件中声明buildozer.spec
。常见示例有:CAMERA
、INTERNET
、BLUETOOTH_SCAN
、RECORD_AUDIO
。扫描蓝牙或扫描 Wifi 的应用程序可能需要多个权限。
例如:如果应用程序连接到网络,则添加INTERNET
权限。
WRITE_EXTERNAL_STORAGE
api不是必须 >= 30
READ_EXTERNAL_STORAGE
api不是必须 >= 33
用户权限
任何记录为具有“保护级别:危险”的应用程序清单权限还需要用户权限。在 Python 中,这是通过request_permissions()
调用启动的。用户权限请求被视为 Android 应用程序向用户呈现的对话框。在上面列出的四个明显权限中,三个是“危险的”。
许多旧的 Kivy 示例都显示request_permissions()
在 的顶部main.py
。在较新版本的 Android 上,这将导致意外行为,因为它违反了kivy Lifecycle。
目前reque