requestRouteToHost(int networkType, int hostAddress) 在 6.0 中不起作用

requestRouteToHost(int networkType, int hostAddress) is not working in 6.0

requestRouteToHost(int networkType, int hostAddress)

此方法在 API 级别 21 中 已弃用 。弃用后

requestNetwork(NetworkRequest, NetworkCallback)

bindProcessToNetwork(网络)getSocketFactory()

API。在 M 及更高版本中,此方法不受支持,如果调用将抛出 UnsupportedOperationException。 Reference of Android Docs

Android 官方网站没有任何替代 requestRouteToHost(int networkType, int hostAddress)

的实现

我 google 找到了这个

       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        
                  ConnectivityManager connMgr = (ConnectivityManager) this
                        .getSystemService(Context.CONNECTIVITY_SERVICE);
        
                    NetworkRequest.Builder builder = new NetworkRequest.Builder();
      
                    //what Capability i have to add for 
                    **requestRouteToHost(int networkType, int hostAddress)** implementation.
                    builder.addCapability(NetworkCapabilities.NET_CAPABILITY_MMS);
                    builder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
             
                    NetworkRequest networkRequest = builder.build();
                    connMgr.requestNetwork(networkRequest, new ConnectivityManager.NetworkCallback() {
        
                        @Override
                        public void onAvailable(Network network) {
                            super.onAvailable(network);
                            //  sendNormalMms();
                            try {
                                int y = Integer.parseInt(apns.get(0).MMSPort);
                                HttpUtils.httpConnection(mContext, 4444L,
                                        apns.get(0).MMSCenterUrl, bytesToSend,
                                        HttpUtils.HTTP_POST_METHOD,
                                        !TextUtils.isEmpty(apns.get(0).MMSProxy),
                                        apns.get(0).MMSProxy, y);
        
                            } catch (Exception e) {
                            }
                        }
                    });

问题: 连接未准备好发送彩信 curser 没有开始 OnAvalabile();

这是准备发送彩信的权利吗?

发现问题:

移动数据已关闭,这就是状态未准备好发送彩信的原因。