2016-03-31 20 views
1

Bereit Gerät zum Senden mms funktioniert gut in Kitkat, aber Pro KitKat Version startUsingNetworkFeature wird abgeschrieben.startUsingNetworkFeature und requestRouteToHost Abgelehnt in 6.0 Alternative zu diesem

final int result = mConnMgr.startUsingNetworkFeature(
        ConnectivityManager.TYPE_MOBILE, "enableMMS"); 
      final ProgressDialog dialog = 
        ProgressDialog.show(mContext, "", getString(R.string.compose_thread_dailog_converting_multi)); 

      if (result != 0) { 
       IntentFilter filter = new IntentFilter(); 
       filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); 
       receiver = new BroadcastReceiver() { 
        @Override 
        public void onReceive(Context context, Intent intent) { 

         String action = intent.getAction(); 
         Log.i("recived", "action"); 
         if (!action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { 

          return; 
         } 

         NetworkInfo mNetworkInfo = (NetworkInfo) intent 
           .getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); 

         if ((mNetworkInfo == null) 
           || (mNetworkInfo.getType() != ConnectivityManager.TYPE_MOBILE_MMS)) { 

          return; 
         } 

         if (!mNetworkInfo.isConnected()) { 

          return; 
         } else { 
          Log.i("recived", "OK mms features"); 
          context.unregisterReceiver(receiver); 
          dialog.dismiss(); 
          sendNormalMms(); 


         } 
        } 
       }; 

       context.registerReceiver(receiver, filter); 
      } else { 
       // sendData(recipient, SentMMS); 

       Log.i("recived", "OK mms features"); 
       // context.unregisterReceiver(receiver); 
       dialog.dismiss(); 
       sendNormalMms(); 
      } 
     } 

Wie kann ich diese Funktion in 6.0 erreichen, habe ich dies versucht. ich erhielt das mobile Gerät mms auf verfügen aber wie kann ich diese funtion requestRouteToHost

   NetworkRequest.Builder builder = new NetworkRequest.Builder(); 
//  builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); 
      builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); 
      builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); 

      NetworkRequest networkRequest = builder.build(); 
      mConnMgr.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback() { 

       @Override 
       public void onAvailable(Network network) { 
        super.onAvailable(network); 
        dialog.dismiss(); 
        sendNormalMms(); 
       } 
      }); 

requestRouteToHost für 6.0 Implementierung benötigt wird?

+0

Haben Sie eine Antwort finden? – sgupta

+0

ja ich habe das Problem meine eigene Frage beantworten –

Antwort

0

Ich habe unter dem Problem arbeitet gut ich nur vergessen zu turn on mobile data.

  NetworkRequest.Builder builder = new NetworkRequest.Builder(); 
      builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS); 
      builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); 

      NetworkRequest networkRequest = builder.build(); 
      mConnMgr.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback() { 

       @Override 
       public void onAvailable(Network network) { 
        super.onAvailable(network); 
        dialog.dismiss(); 
        sendNormalMms(); 
       } 
      }); 
+0

Danke. Hoffentlich wird das auch für mich funktionieren. – sgupta