-5

Я дал разрешение пользователя в явномМой Android приложение не работает, кроме подключения Wi-Fi

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

приложение хорошо работает с Wi-Fi, но он не работает с мобильными данными connection.it не crashed.but это Безразлично Не отвечай.

@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(); 
+0

Показать ваш код ... – FrozenFire

ответ

0

Вы можете сделать общий класс что-то вроде этого, чтобы проверить состояние сети

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; 
    } 

} 
2

final String imageurl="http://192.168.0.180/hrm/empimages100/" ссылается на адрес в вашей локальной сети, которая является высоким шансом не могут быть доступны через GPRS. Он не возвращает ошибку, вероятно, потому, что у вас есть какое-то исключение, управляемое в части new LoadImage().execute(imageurl);. Также эта строка выглядит как конструктор для меня, но построенный объект никуда не денется.

Смежные вопросы