gpt4 book ai didi

用于检查wifi是否启用的Android应用程序

转载 作者:行者123 更新时间:2023-11-29 20:03:34 25 4
gpt4 key购买 nike

我一直在尝试创建一个 Android 应用程序来检查手机的 wifi 是打开还是关闭。我想做的是,如果 WiFi 打开,则显示白色的 BoxLayout,如果未打开,则显示弹出窗口。我是 Android 开发的新手,由于它的简单性和我对 Python 的热爱,我迷上了 Kivy。我尝试遵循 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 文件中的权限进行任何更改吗?截至目前,它只是互联网。

最佳答案

在我的项目中,我使用了这个功能(WiFi和移动互联网):

from kivy.utils import platform
from jnius import autoclass


def check_connectivity():
if platform != 'android':
raise Exception('run me on android device')

Activity = autoclass('android.app.Activity')
PythonActivity = autoclass('org.renpy.android.PythonActivity')
activity = PythonActivity.mActivity
ConnectivityManager = autoclass('android.net.ConnectivityManager')

con_mgr = activity.getSystemService(Activity.CONNECTIVITY_SERVICE)

conn = con_mgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting()
if conn:
return True
else:
conn = con_mgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting()
if conn:
return True
else:
return False

如果互联网可用,则返回 True,否则返回 False

关于用于检查wifi是否启用的Android应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com