我撰寫了一個 Xamarin 應用程式,該應用程式通過依賴服務使用原生 Android 功能。具體來說,它是關于 WifiManager 和用于關閉 Wifi 的方法 SetWifiEnabled()。使用帶有 API 25 的 Android 7.1 模擬器一切正常,我可以關閉 wifi。使用 Android 版本 11 和 API 30 的模擬器,wifi 沒有關閉,我認為 SetWifiEnabled() 方法不起作用。wifi沒有關閉。有誰知道這是什么原因?非常感謝
這是依賴服務的代碼:
[assembly: Dependency(typeof(GetWifimanager))]
namespace WifiSwitch.Droid
{
public class GetWifimanager : IWifiManager
{
[Obsolete]
public bool CheckWifi()
{
var wifiManager = (WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);
return wifiManager != null && wifiManager.SetWifiEnabled(false);
}
}
}
uj5u.com熱心網友回復:
根據檔案
此方法在 API 級別 29 中已棄用。從 Build.VERSION_CODES#Q 開始,不允許應用程式啟用/禁用 Wi-Fi。兼容性說明:對于面向 Build.VERSION_CODES.Q 或更高版本的應用程式,此 API 將始終失敗并回傳 false。如果應用針對的是較舊的 SDK(Build.VERSION_CODES.P 或更低版本),它們可以繼續使用此 API。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/424309.html
上一篇:如何將檔案.png轉換為位圖?沒有什么對我有用。錯誤“'無法解碼影像。提供的影像必須是位圖。'”Xamarin.forms
