我在Android手机上有一个打印机检查应用程序,其基本检查表格
检查员可以进行打印机检查,即使他没有互联网连接,
手机回来了接收/互联网,我想提交检查。
我正在考虑使用Android服务设计该应用
因此,它将使用sqlite保存检查详细信息,然后在有互联网连接重新提交检查时。
但这需要服务定期检查Internet。并会食用大量的电池汁。
我可以注册我的应用程序以通知应用程序或Internet连接服务的服务吗?
wi-fi 和移动 Internet的简单检查...
在 subtest.xml 中:
<receiver android:name=".com.yourapp.ConnectivityChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
制作新的 Broadcastreceiver :
public class ConnectivityChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
if(checkInternet(context))
{
Toast.makeText(context, "Network Available Do operations",Toast.LENGTH_LONG).show();
}
}
boolean checkInternet(Context context) {
ServiceManager serviceManager = new ServiceManager(context);
if (serviceManager.isNetworkAvailable()) {
return true;
} else {
return false;
}
}
}
最后 serviceManager 类:
public class ServiceManager {
Context context;
public ServiceManager(Context base) {
context = base;
}
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
}
**不要忘记添加清单中使用Internet的权限文件:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
还可以在vogella.com androidServices ...