Android 当网络连接下降时,我的应用程序get force关闭
当互联网连接下降时,我的应用程序get force关闭。 我用这种方法检查了splashscreen中的互联网连接状态,效果很好。问题是当我的应用程序运行顺利时,如果互联网连接出现故障,它会使整个应用程序崩溃(强制关闭)…如何克服这个问题 公共布尔值isNetworkAvailable() 1活动: vec=WSSender.getname(字母“0”,“100”,字典) Web服务活动:Android 当网络连接下降时,我的应用程序get force关闭,android,android-layout,android-intent,android-emulator,Android,Android Layout,Android Intent,Android Emulator,当互联网连接下降时,我的应用程序get force关闭。 我用这种方法检查了splashscreen中的互联网连接状态,效果很好。问题是当我的应用程序运行顺利时,如果互联网连接出现故障,它会使整个应用程序崩溃(强制关闭)…如何克服这个问题 公共布尔值isNetworkAvailable() 1活动: vec=WSSender.getname(字母“0”,“100”,字典) Web服务活动: public static Vector getname(String str,String str
public static Vector getname(String str,String str1, String str2, String str3) throws IOException, Exception
{
SoapObject request = new SoapObject(WSConstants.NAMESPACE, WSConstants.METHOD_NAME);
request.addProperty("letter",str);
request.addProperty("start", str1);
request.addProperty("end", str2);
request.addProperty("tableName",str3);
SoapObject resultObject = send(request,WSConstants.SOAP_ACTION );
//String prelist = resultObject.toString();
Vector preList = WSResponseParser.parseDetailforhn(resultObject);
return preList;
}
试试这个:
在清单中添加权限:
<代码>上传堆栈跟踪。丢失连接不会杀死你的应用程序,除非代码在做某事的中间,而且它没有正确处理连接的丢失。发布日志猫以显示引发的异常以及发生异常的代码。在应用程序中,如果在完成调用之前同时调用http服务,则如果网络连接失败,则可能会发生这种情况,你可以先检查网络连接,然后发出请求,也可以放置异常处理程序来正确处理异常。伊尼泰什,潘卡吉:我也这样做,但我使用了警报,如果没有连接wifi,它工作正常,人会提醒我,但如果有互联网连接,我的应用程序运行gud,有人关闭wifi it get force close eFile使用webservice从Web服务中获取数据你自己,它从internet获取数据,我的Web服务方法在另一个类中。是否可以在我调用另一个活动的方法时进行检查。在调用方法的地方执行我建议的上述检查。
public static Vector getname(String str,String str1, String str2, String str3) throws IOException, Exception
{
SoapObject request = new SoapObject(WSConstants.NAMESPACE, WSConstants.METHOD_NAME);
request.addProperty("letter",str);
request.addProperty("start", str1);
request.addProperty("end", str2);
request.addProperty("tableName",str3);
SoapObject resultObject = send(request,WSConstants.SOAP_ACTION );
//String prelist = resultObject.toString();
Vector preList = WSResponseParser.parseDetailforhn(resultObject);
return preList;
}
hello.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View paramView) {
net = isOnline();
Toast.makeText(SampleActivity.this, "Hello", Toast.LENGTH_LONG).show();
}
});
private boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()) {
return true;
} else {
return false;
}
}
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
You have to perform below check not only in the splash screen but all the places in the appp where internet related tasks are done i.e date upload or download
//decleration
boolean net;
//onCreate
net = isOnline();
if (net == true)
{
//perform internet related tasks in the app
}
//function
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
return activeNetworkInfo != null;
// return cm.getActiveNetworkInfo().isConnected();
}