我一直在尝试创建一个 Android 应用程序来检查手机的 wifi 是否打开或关闭。我想要做的是,如果 WiFi 开启,那么它会显示一个白色的 BoxLayout,如果它没有开启,那么它会显示一个弹出窗口。我是 Android 开发的新手,我迷上了 Kivy,因为它的简单性和我对 Python 的热爱。我尝试关注 Pyjnius 文档,但无法运行该应用程序。所以我会在这里发布代码:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from kivy.uix.button import Button
from kivy.lang import Builder
from jnius import autoclass
Builder.load_string('''
<WiFiENABLED>
canvas.before:
Color:
rgb: 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
<WiFiDISABLED>
BoxLayout:
orientation: 'vertical'
Label:
text:"Wifi is turned off"
Button:
text:"OK"
<Box>
Label:
text: "WiFi Tester"
''')
class WiFiENABLED(BoxLayout):
def wfenabled(self):
pass
class WiFiDISABLED(Popup):
def wfdisabled(self):
pass
class WiFiStatus():
def WiFi(self):
WiFi_Status = autoclass('android.net.wifi.WiFiManager')
WiFi = WiFi_Status.getSystemService(Context.WIFI_SERVICE)
if WiFi.getWifiState() == WiFi.WIFI_STATE_ENABLED:
return WiFiENABLED()
elif WiFi.getWifiState() == WiFi.WIFI_STATE_DISABLED:
return WiFiDISABLED()
class Box(BoxLayout):
def b(self):
return WiFiStatus()
class WF(App):
def build(self):
return Box()
if __name__ == "__main__":
WF().run()
我应该对 builder.spec 文件中的权限进行任何更改吗?截至目前,它只是互联网。