0

我想在 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.

如何创建用户将永远允许的权限消息?

4

0 回答 0