【问题标题】:Is it possible to get the wifi ssid in the background service?是否可以在后台服务中获取wifi ssid?
【发布时间】:2021-05-02 11:37:09
【问题描述】:

我正在尝试在后台获取 wifi ssid。
虽然它在前台,但效果很好。
但是当它进入后台时,在我的前台服务中,它返回。
当然,它获得了Location权限。
是否可以在该服务中获取 ssid?

    ConnectivityManager connManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    if (ConnectivityManager.TYPE_WIFI == netInfo.getType ()) {
        WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        Log.d("checkWifi", "checkWifi" + wifiInfo.getSSID());
    }
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

【问题讨论】:

  • 如果您在 Android 10+ 上进行测试,您可能需要ACCESS_BACKGROUND_LOCATION 权限。
  • 谢谢! @CommonsWare

标签: android wifi foreground-service ssid


【解决方案1】:

Android 10+ 需要ACCESS_BACKGROUND_LOCATION 权限

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

谢谢@CommonsWare!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多