连接wifi时打开应用程序

Bha*_*ani 5 android broadcastreceiver wifi android-intent

当用户进入具有Wi-Fi的区域时,如何打开我的应用程序?这可能吗?假设我的应用程序处于onPause()状态(表示我的设备的主屏幕).现在当设备连接wifi时.它会自动打开我的应用程序.

小智 5

尝试添加广播接收器并收听网络更改,当wi-fi连接启动您的活动时.像这个解决方案的东西

public class ConnectivityReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

                ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
                NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
                if (((null != wifi)&&(wifi.isAvailable())) || ((null != mobile)&&(mobile.isAvailable()))){
                    Intent uplIntent = new Intent(context, YourActivity.class);
                    uplIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(uplIntent);
                }

    }
}
Run Code Online (Sandbox Code Playgroud)

并添加到清单

    <receiver android:name=".receiver.ConnectivityReceiver">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)