如何解决是否可以在后台服务中获取wifi ssid?
我正在尝试在后台获取 wifi ssid。
虽然它在前台,但效果很好。
但是当它进入后台时,在我的前台服务中,它返回 .
当然,它获得了位置权限。
是否可以在该服务中获取 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
权限
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
谢谢@CommonsWare!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。