我正在使用以下代码连接到没有互联网连接的WiFi网络,因为它拥有自己的网络服务器,我想连接即使没有可用的互联网连接.
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = String.format("\"%s\"", scanResult.SSID);
wifiConfiguration.preSharedKey = String.format("\"%s\"", "secret");
int netId = wifiManager.addNetwork(wifiConfiguration)
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();
Run Code Online (Sandbox Code Playgroud)
这适用于Android Marshmallow下面的每个设备(我使用CM13,所以它可能与CyanogenMod有关?):当我使用此代码进行连接时,Android仍然使用移动连接并用感叹号标记WiFi符号.几秒后它会显示一个通知,询问我是否要保持连接,因为网络没有互联网连接.
问题:我的应用尝试自动连接到我的网络服务器失败,因为显然没有互联网连接.当然可以等到我能够访问我的网络服务器,但它应该在没有用户交互的情况下工作.
ChromeCast 或任何其他物联网设备如何解决这个问题?我在设置ChromeCast设备时从未看到过这样的通知.
我正在尝试在FSharp中创建一个函数,它将接受一个接口类型的参数和一个派生类型的参数,它将这两个参数作为该接口的实现传递:
简化示例:
type IFoo =
abstract member Compare : IFoo -> bool
type Foo =
interface IFoo with
member this.Compare _ = false
let doCompare (a : IFoo) (b : IFoo) = a.Compare(b)
let comp (x : IFoo) (y : #IFoo) = doCompare x (y :> IFoo)
let comp2 (x : 'T) (y : #'T) = doCompare x (y :> 'T)
Run Code Online (Sandbox Code Playgroud)
我在泛型版本上遇到以下两个错误(这里是comp2):
在参数上:
This construct causes code to be less generic than indicated by its type annotations. The type variable …