-5

I have given user permission in manifest

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

app works well with wifi but it doesn't work with mobile data connection.it not crashed.but it doesn't give response.

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

2 Answers2

2

final String imageurl="http://192.168.0.180/hrm/empimages100/" refers to an address in your local network which is by high chance can not be accessible via GPRS. It returns no error probably because you have some exception managed in new LoadImage().execute(imageurl); part. Also this string looks like constructor to me but the object built is not going anywhere.

0

You can make a common class something like this to check network status

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

}
Rahul Khurana
  • 8,577
  • 7
  • 33
  • 60