我想在 Kivy App 中关闭/打开 wifi。对于这项工作,我使用了:
from wifidroid.wifi import WifiManager
wifi = WifiManager()
wifi.EnabledWifi(False) #True
我还在permissionBuildozer.spec 中添加了:
android.permissions = CHANGE_WIFI_STATE、ACCESS_WIFI_STATE、INTERNET
这种方法效果很好,但问题是我每次都必须给“允许”才能关闭 wifi。
我对此进行了研究,得出的结论是我也可以permission在程序中创建。所以我使用了以下代码。
if platform == 'android':
from android.permissions import request_permissions, Permission
request_permissions([Permission.CHANGE_WIFI_STATE])
添加上述三行后,应用程序在执行过程中崩溃。在调试模式下,它会给出此消息。
08-31 01:48:47.898 32527 32549 I python : Initializing Python for Android
08-31 01:48:47.899 32527 32549 I python : Setting additional env vars from p4a_env_vars.txt
08-31 01:48:47.899 32527 32549 I python : Changing directory to the one provided by ANDROID_ARGUMENT
08-31 01:48:47.899 32527 32549 I python : /data/user/0/org.kivy.oscservice/files/app
08-31 01:48:47.899 32527 32549 I python : Preparing to initialize python
08-31 01:48:47.899 32527 32549 I python : _python_bundle dir exists
08-31 01:48:47.899 32527 32549 I python : calculated paths to be...
08-31 01:48:47.899 32527 32549 I python : /data/user/0/org.kivy.oscservice/files/app/_python_bundle/stdlib.zip:/data/user/0/org.kivy.oscservice/files/app/_python_bundle/modules
08-31 01:48:47.899 32527 32549 I python : set wchar paths...
08-31 01:48:48.020 32527 32549 I python : Initialized python
08-31 01:48:48.020 32527 32549 I python : AND: Init threads
08-31 01:48:48.024 32527 32549 I python : AND: Ran string
08-31 01:48:48.024 32527 32549 I python : Run user program, change dir and execute entrypoint
08-31 01:48:49.050 32476 32506 I python : [WARNING] [Base ] Unknown <android> provider
08-31 01:48:49.050 32476 32506 I python : [INFO ] [Base ] Start application main loop
08-31 01:48:49.054 32476 32506 I python : Python for android ended.
如何创建用户将永远允许的权限消息?
