问题描述:
我已经给用户权限带wifi的效果很好,但它不工作与移动数据connection.it不crashed.but它不没有回应。我的Android应用程序并不比WiFi连接等工作清单中</p> <pre><code><uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> </code></pre> <p>应用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
URL = "http://" + Helper.getip(getApplicationContext(), LoginActivity.ipindex) + "/Android_Service/LoginService.asmx";
URL2= "http://"+Helper.getip(getApplicationContext(),LoginActivity.ipindex)+"/Android_Service/AndroidServices.asmx";
final String imageurl="http://192.168.0.180/hrm/empimages100/" + LoginActivity.EmpNo + ".jpg";
new LoadImage().execute(imageurl);
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
// mTitle = mDrawerTitle = getTitle();
user = (ImageView) findViewById(R.id.avatar);
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
Deviceid = tm.getDeviceId();
答
你可以让一个普通类这样的事情来检查网络状态
public class NetworkStatus {
private static NetworkStatus instance = new NetworkStatus();
static Context context;
ConnectivityManager connectivityManager;
NetworkInfo wifiInfo, mobileInfo;
boolean connected = false;
public static NetworkStatus getInstance(Context ctx) {
context = ctx;
return instance;
}
public boolean isOnline(Context con) {
try {
connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
connected = networkInfo != null && networkInfo.isAvailable() && networkInfo.isConnected();
return connected;
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(context, "Check Connectivity Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show();
//Log.v("connectivity", e.toString());
}
return connected;
}
public boolean isConnectedToInternet(){
connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null){
NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
if (info != null){
for (int i = 0; i < info.length; i++){
if (info[i].getState() == NetworkInfo.State.CONNECTED){
return true;
}
}
}
}
return false;
}
}
答
final String imageurl="http://192.168.0.180/hrm/empimages100/"
指的是本地网络中的地址是由高的机会通过GPRS无法访问。 它不会返回错误,可能是因为您在new LoadImage().execute(imageurl);
部分管理了某些异常。此外,这个字符串看起来像我的构造函数,但构建的对象不会去任何地方。
显示您的代码... – FrozenFire