【发布时间】:2012-03-20 18:34:51
【问题描述】:
我想创建一个应用程序,当设备有互联网连接时执行特定操作。这在android中可能吗?
【问题讨论】:
标签: android connection action
我想创建一个应用程序,当设备有互联网连接时执行特定操作。这在android中可能吗?
【问题讨论】:
标签: android connection action
您可以列出特定意图。像这样定义一个接收器,
<receiver android:name=".NetworkReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
在您的接收中,检查网络状态,例如,
@Override
public void onReceive(Context ctx, Intent intent) {
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
NetworkInfo info = intent
.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
String typeName = info.getTypeName();
String subtypeName = info.getSubtypeName();
boolean available = info.isAvailable();
// etc
}
}
【讨论】:
public boolean online() {
ConnectivityManager manager =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
return info != null && info.isConnectedOrConnecting();
}
【讨论】: