我想开发一个应用程序,它将在打开wifi时在后台运行 . 后台应用程序将检查设备是否每15分钟连接到wifi网络 . 如果未连接,请关闭设备中的wifi . 现在,当打开wifi时,如何在后台启动应用程序?
您必须使用广播接收器 . 启动广播接收器的事件是连接的改变 .
要让它在后台启动,您可以在广播接收器显示此连接更改时启动服务
您需要使用BroadcastReceiver来获取wifi事件 .
Releated answer解释了如何做得很好 .
您需要创建在后台运行的服务,并且您可以在那里编写逻辑,在那里每15分钟检查一次是否可用wifi .
如果它检测到wifi,则在同一服务中运行后台操作 .
你可以参考这个http://stacktips.com/tutorials/android/android-service-example
您还可以在系统检测到wifi时检测广播 .
public class WifiReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = conMan.getActiveNetworkInfo(); if (netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI) Log.d("WifiReceiver", "Have Wifi Connection"); else Log.d("WifiReceiver", "Don't have Wifi Connection"); } };
3 回答
您必须使用广播接收器 . 启动广播接收器的事件是连接的改变 .
要让它在后台启动,您可以在广播接收器显示此连接更改时启动服务
您需要使用BroadcastReceiver来获取wifi事件 .
Releated answer解释了如何做得很好 .
您需要创建在后台运行的服务,并且您可以在那里编写逻辑,在那里每15分钟检查一次是否可用wifi .
如果它检测到wifi,则在同一服务中运行后台操作 .
你可以参考这个http://stacktips.com/tutorials/android/android-service-example
您还可以在系统检测到wifi时检测广播 .