相关疑难解决方法(0)

Android:在广播接收器中连接到wifi/3g时检查网络连接返回未连接

我想在broadcastReceiver中检查设备是否已连接.下面是我的代码:

public boolean isOnline(Context context) {
NetworkInfo info = (NetworkInfo) ((ConnectivityManager) context
        .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

if (info == null || !info.isConnected()) {
    Log.e("UpdateDataReceiver","info: "+info);
    return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)

我的代码问题: 当BroadcastReceiver在后台触发时(当app在后台时),上面的函数返回false(即使连接了wifi),当app在前台时它返回true.

info:NetworkInfo:type:WIFI [],state:DISCONNECTED/BLOCKED,reason :( unspecified),extra:(none),漫游:false,failover:false,isAvailable:true,isConnectedToProvisioningNetwork:false,simId:0

设备信息:Redmi Note

android

7
推荐指数
2
解决办法
5831
查看次数

Android - 查看wifi密码是否正确

我打算制作一个应用程序来检查某个 wifi 网络是否使用通用密码。我有一个最常见的密码列表,但具有以下功能:

public boolean connectTo(String psKey){
    WifiConfiguration wc = new WifiConfiguration();
    wc.SSID = "\"" + dbw.getSsid() + "\"";
    wc.preSharedKey  = "\"" + psKey + "\"";

    wc.status = WifiConfiguration.Status.ENABLED;   
    wc = configureCapabs(wc, dbw.getCapability());

    int res = wifi.addNetwork(wc);
    Toast.makeText(this, "add Network returned " + res , Toast.LENGTH_SHORT).show();
    boolean b = wifi.enableNetwork(res, true);        
    Toast.makeText(this, "enableNetwork returned " + b , Toast.LENGTH_SHORT).show();
    if(!b) return false;
    boolean fin = /*b ? wifi.reassociate() : */wifi.reconnect();
    return fin;
}
Run Code Online (Sandbox Code Playgroud)

它返回真,即使密码不正确。有没有办法检查我尝试登录的密码是被接受还是被拒绝?

android wifi

4
推荐指数
1
解决办法
6487
查看次数

打开/关闭移动蜂窝数据(移动互联网)时如何触发BroadcastReceiver

如果我打开/关闭移动蜂窝数据,我想知道如何触发BroadcastReceiver.我已经注册了BroadcastReceiver,如果我打开/关闭wifi,它工作正常但是如果我打开/关闭蜂窝数据没有广播触发器.有人可以帮我这个吗?

这是我的代码.

这里我在Manifest.file中注册BroadcastReceiver

       <receiver android:name="com.servicesandroid.NetworkCheckReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

清单权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

这是我的BroadcastReceiver类.

public class NetworkCheckReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Toast.makeText(context, "Started", Toast.LENGTH_SHORT).show();
         Log.d("app","Network connectivity change");
    }

}
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
6259
查看次数

标签 统计

android ×3

wifi ×1