public static void watchNetwork() { if (m_instance.networkReceiver == null) { Log.d(TAG, "install network receiver"); m_instance.networkReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { ConnectivityManager mgr = (ConnectivityManager) m_instance.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = mgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { Log.d(TAG, "network connected!"); QWeatherNative.OnNetworkStateChanged(1); } else { QWeatherNative.OnNetworkStateChanged(0); } } } }; IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); m_instance.registerReceiver(m_instance.networkReceiver, intentFilter); } }
public static void getLocation() { Log.d(TAG, "getLocation"); if (m_instance.m_lm == null) m_instance.m_lm = (LocationManager) m_instance.getSystemService(Context.LOCATION_SERVICE); if (m_instance.m_lm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { m_instance.m_handler.sendMessage(m_handler.obtainMessage(2)); } else { // open gps Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS); m_instance.startActivityForResult(intent, GET_LOCATION_REQUEST_CODE); } }
@Override public void handleMessage(Message msg) { switch (msg.what) { case 2: m_instance.doGetLocation(); break; } ; }
public static int networkState() { ConnectivityManager mgr = (ConnectivityManager) m_instance.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = mgr.getActiveNetworkInfo(); return (networkInfo != null && networkInfo.isAvailable()) ? 1 : 0; }
public static void launchActivity(String action) { m_instance.startActivity(new Intent(action)); }