android - 连接wifi时打开应用程序

标签 android android-intent broadcastreceiver wifi

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

最佳答案

尝试添加广播接收器并监听网络变化,当 wi-fi 连接时开始您的 Activity 。像这样的解决方案

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);
                }

    }
}

并添加到 list

    <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"/>

关于android - 连接wifi时打开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088507/

相关文章:

Android ListView 按钮调用电话

java - Android BroadcastReceiver 不会注册

android - Cordova + Ionic 框架 - 如何安全地更改包名称?

Android SlidingDrawer 位置句柄离屏

android - 如何将 Android Uri 转换为 Java URI

android - 如何从代码开始和停止电话

使用 android ActionView Intent 打开时,Javascript 重定向在 Edge 浏览器中不起作用,但在手动重新加载后工作

来自 Maven ExceptionInInitializerError (IntelliJ IDEA 12) 的 Android 库

Android 服务意外关闭

java - 检查服务是否正在从广播接收器内运行