当前位置:编程学习 > JAVA >>

简要说明Java 中.class文件的内部结构

3.0之前版本code:
Java代码 
private void setWifiProxyConfiguration(ProxyConfiguration proxyconfiguration) { 
 
    // if isnot SSID ,return out 
    if (proxyconfiguration.getProxyScope() != ProxyConfiguration.ProxyScope.SSID){ 
        return; 
    } 
    mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
 
    // add a WifiConfig 
    List<WifiConfiguration> wifiConfiguredNetworks = mWifiManager 
            .getConfiguredNetworks(); 
 
    for (final WifiConfiguration w : wifiConfiguredNetworks){ 
        Log.i(TAG, ""+w.SSID+":"+proxyconfiguration.getNetworkId()); 
         
        if (w.SSID.equals("""+proxyconfiguration.getNetworkId()+""")){ 
             
            mLinkProperties.clear(); 
            Log.i(TAG, "w.SSID.equals(proxyconfiguration.getNetworkId()):" 
                    + wifiConfiguredNetworks.indexOf(w)); 
             
            mWifiConfiguration = wifiConfiguredNetworks.get(wifiConfiguredNetworks.indexOf(w)); 
            ProxyProperties proxyproperties = new ProxyProperties( 
                    proxyconfiguration.getProxyURL(), 
                    proxyconfiguration.getProxyPort(), 
                    proxyconfiguration.getmUrlExclusionList()); 
            mLinkProperties.setHttpProxy(proxyproperties); 
            mWifiConfiguration.linkProperties = new LinkProperties(mLinkProperties); 
            mWifiConfiguration.proxySettings = ProxySettings.STATIC; 
             
            Log.i(TAG, "mWifiConfiguration.linkProperties.setHttpProxy(proxyproperties);"+ mWifiConfiguration); 
             
            mWifiManager.saveNetwork(mWifiConfiguration); 
        } 
    } 


附3.0 Demo

3.1时源码有所改动加入了async code为:

Java代码 
private class WifiServiceHandler extends Handler { 
    @Override 
    public void handleMessage(Message msg) { 
        switch (msg.what) { 
            case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED: 
                if (msg.arg1 == AsyncChannel.STATUS_SUCCESSFUL) { 
                    Log.e(TAG, "Success to establish AsyncChannel connection"); 
                    //AsyncChannel in msg.obj 
                } else { 
                    //AsyncChannel set up failure, ignore 
                    Log.e(TAG, "Failed to establish AsyncChannel connection"); 
                } 
                break; 
            default: 
                //Ignore 
                break; 
        } 
    } 
 
    WifiServiceHandler(Looper looper){ 
        super(looper); 
    } 

    // Standard priority background threads. 
       final HandlerThread mHandlerThread = new HandlerThread("DivideService",Process.THREAD_PRIORITY_BACKGROUND); 
       final WifiServiceHandler mHandler; 
    // run a message loop for a thread. 
    // Threads do not have a message loop associated with them by default; so create one 
    mHandlerThread.start(); 
    mHandler = new WifiServiceHandler(mHandlerThread.getLooper()); 
public void setProxyConfiguration(ProxyConfiguration[] proxyConfigurations) { 
    if (mContext.checkCallingOrSelfPermission(ENTERPROID_PERMISSION) != PackageManager.PERMISSION_GRANTED) { 
        if(DEBUG_LOADERS) Log.e(TAG, "setProxyConfiguration() no permission"); 
        return; 
    } 
    if (proxyConfigurations != null) { 
        if(DEBUG_LOADERS) Log.d(TAG, "setProxyConfiguration()"); 
        mProxyConfgs = new ProxyConfiguration[proxyConfigurations.length]; 
        for (int i = 0; i < mProxyConfgs.length; i++) { 
            ProxyConfiguration pc = proxyConfigurations[i]; 
            // TODO: Invoke the framework api existed in the Android 3.0 
            switch (pc.getProxyScope()) { 
            case SSID: { 
                setWifiProxyConfiguration(pc); 
            } 
                break; 
            default:  补充:软件开发 , Java ,

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,