-1

嗨,我正在使用模拟器来测试应用程序,但是当我运行应用程序时,它仍然显示 gprs 可用,知道为什么吗?在模拟器中没有 gprs 那么为什么它的显示 gprs 可用?ConnectivityManager.TYPE_MOBILE 是什么意思?是指只有gprs??

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  sp.setAdapter(adapter);

sp.setOnItemSelectedListener(new OnItemSelectedListener() {

  public void onItemSelected(AdapterView<?> parent, View view, int position, long 
 id) {



    if (position == 0) 

    {
        final ConnectivityManager connMgr = (ConnectivityManager) 
                getSystemService(Context.CONNECTIVITY_SERVICE);

         android.net.NetworkInfo mobile =


connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
         if( mobile.isAvailable() ){
            Toast.makeText(LoginScreen.this, " GPRS Connection Found "
 , Toast.LENGTH_LONG).show();
            }
         else if( !mobile.isAvailable() ){

                Toast.makeText(LoginScreen.this, "No GPRS 
Connection Found " , Toast.LENGTH_LONG).show();
                }

    }


    if (position == 1) 
    {
        final ConnectivityManager connMgr = (ConnectivityManager)
                getSystemService(Context.CONNECTIVITY_SERVICE);

        final android.net.NetworkInfo wifi =
        connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        if( wifi.isAvailable() ){
            Toast.makeText(LoginScreen.this, " Wifi Found" ,   
 Toast.LENGTH_LONG).show();
            }
        else if( !wifi.isAvailable() ){
            Toast.makeText(LoginScreen.this, "No Wifi found " ,
  Toast.LENGTH_LONG).show();
            }

  }




    if (position == 3) 

    {
        final ConnectivityManager connMgr = (ConnectivityManager) 
    getSystemService(Context.CONNECTIVITY_SERVICE);

         BluetoothAdapter mBluetoothAdapter = 
    BluetoothAdapter.getDefaultAdapter();    
            if (mBluetoothAdapter.isEnabled()) {
                Toast.makeText(LoginScreen.this, " BlueTooth Found" , 
   Toast.LENGTH_LONG).show();

            }else if( !mBluetoothAdapter.isEnabled() ){
                Toast.makeText(LoginScreen.this, "No BlueTooth found " 
   , Toast.LENGTH_LONG).show();
                }

    }

   }
   public void onNothingSelected(AdapterView<?> arg0) {

   }

 });
4

1 回答 1

0

ConnectionManager不检查提供类型 ( TYPE_MOBILE)的类型。它只报告存在数据连接,而不管底层协议如何。

NetworkInfo.getSubTypeName()将具有网络的子类型。

还有一个类似问题的现有答案。

于 2012-08-03T21:37:32.723 回答