日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Android4.42-Settings源代码分析之蓝牙模块Bluetooth(上)

發布時間:2023/12/15 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 Android4.42-Settings源代码分析之蓝牙模块Bluetooth(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼上一篇 Android系統源代碼剖析(一)---Settings

接著來介紹一下設置中某個模塊的源代碼。本文依然是基于Android4.42源代碼進行分析,分析一下藍牙模塊的實現。建議大致看一下關于Settings的剖析。


ZERO,藍牙模塊的fragment及其配置

1>,首先由Settings_headers.xml文件能夠知道,藍牙相應的fragment為BluetoothSettings.java,相應的id,icon。title,不再贅述,可自行查看xml文件就可以


<!-- Bluetooth -->
    <header
        .......
        android:fragment="com.android.settings.bluetooth.BluetoothSettings"
        ......./>

2>。所涉及到的清單配置文件里的屬性具體解釋,清單文件里介紹了藍牙界面啟動相關的一些設置。諸如有快捷方式入口,以及是否隱藏進程等等,在這里大致對一些不常見的屬性進行說明。方便查閱

<activity android:name="......"
                android:uiOptions="splitActionBarWhenNarrow"
                android:configChanges="orientation|keyboardHidden|screenSize"
                android:label="@string/bluetooth_settings_title"
                android:taskAffinity=""
                android:excludeFromRecents="true">
            <intent-filter>
               ......
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.bluetooth.BluetoothSettings" />
            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                android:resource="@id/bluetooth_settings" />
        </activity>

        <!-- Keep compatibility with old shortcuts. -->
        <activity-alias android:name=".bluetooth.BluetoothSettings"
                
                android:label="@string/bluetooth_settings_title"
                android:targetActivity="Settings$BluetoothSettingsActivity"
                android:exported="true"
                android:clearTaskOnLaunch="true">
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.bluetooth.BluetoothSettings" />
            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                android:resource="@id/bluetooth_settings" />
        </activity-alias>


能夠看到Bluetooth涉及到兩個activity節點,一個是activity。另一個是activity-alias(activity的別名,用于兼容舊版的快捷方式)

android:uiOptions="splitActionBarWhenNarrow" // 關于導航欄actionbar的配置,在此配置為當屏幕寬度不夠時控件自己主動顯示在屏幕底部android:configChanges="orientation|keyboardHidden|screenSize" //用于禁止橫豎屏切換,這個屬性有幾個問題須要好好說一下:第一,若不設置該屬性,則切屏時會又一次調用各個生命周期。切橫屏調用一次,切豎屏則須要調用兩次。第二,假設設置了該屬性android:configChanges="orientation|keyboardHidden。則不會又一次調用生命周期僅僅會運行onConfigurationChanged方法。第三,第二條說法成立的條件是必須是Android3.2下面的版本號。假設高于該版本號。則必須在該屬性后加上screensize(屏幕的size)。才會起作用。android:taskAffinity="" //用于指定創建該activity后用于進入的棧,假設未指定該屬性,則就照application節點下指定的棧。假設application也未顯示的指定。則為默認的包下。android:excludeFromRecents="true" //是否顯示在近期啟動的程序列表中。設為true表示不顯示。手機長按home鍵能夠看到近期的程序列表,用此屬性能夠隱藏進程能夠看到有一個與activity并列的<activity-alias../>節點。該節點屬于activity的別名,目標activity不會覆蓋該節點下的屬性,并且,針對目標activity設置的屬性會自己主動加入到activity-alias節點下。也就是說藍牙模塊滿足兩個節點下的屬性,之所以有別名進行屬性設置,主要是為了兼容舊的快捷方式android:targetActivity="Settings$BluetoothSettingsActivity" //由快捷方式進入所啟動的activityandroid:exported="true" //是否支持其它應用調用啟動該activity,true為是。

還加入了關于藍牙的兩個權限,BLUETOOTH和BLUETOOTH_ADMIN。前者用于同意與已經配對的藍牙設備進行連接主要是配對后的權限,后者用于同意發現和配對藍牙設備。主要是配對前的權限。

好了,屬性配置就介紹到這兒了。接下來要真正開始藍牙模塊的學習了,首先明白模塊的布局,藍牙模塊的功能。藍牙實現的有:開啟藍牙,藍牙重命名,藍牙檢測性及檢測時間設置。掃描附近可用藍牙設備。載入已經配對的藍牙設備。與設備配對。連接,通信。

ONE,藍牙布局實現

public final class BluetoothSettings extends DeviceListPreferenceFragment {


.............
        @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
  addPreferencesFromResource(R.xml.bluetooth_settings);
      }

............
}

1>。能夠看出BluetoothSettings屬于PreferenceFragment,所要載入的布局文件為Bluetooth_settings.xml文件。

下面是布局文件代碼。總共四行。節點為PreferenceScreen,代表顯示整個屏幕,內部可嵌套不同類型的標簽,在這里內部未有不論什么標簽,是在代碼中動態加入的不同種類的布局。

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/bluetooth_settings" >
</PreferenceScreen>

2>。展示兩張藍牙開啟和關閉時布局示意圖


<img src="http://img.blog.csdn.net/20160319103542719?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

圈1:ActionBar頂部導航欄。顯示title。以及藍牙開關,開關的加入代碼在addPreferencesForActivity方法中。

@Override
    void addPreferencesForActivity() {
        Activity activity = getActivity();

        //創建藍牙開關控件
        Switch actionBarSwitch = new Switch(activity);

        if (activity instanceof PreferenceActivity) {
            PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
            if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
                final int padding = activity.getResources().getDimensionPixelSize(
                        R.dimen.action_bar_switch_padding);
                actionBarSwitch.setPaddingRelative(0, 0, padding, 0);
                //用來進行頂部導航欄的布局,頂部導航欄左邊顯示圖標和title
              activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
                        ActionBar.DISPLAY_SHOW_CUSTOM);
                //頂部導航欄右邊顯示開關,控件寬高自適應,垂直居中
               activity.getActionBar().setCustomView(actionBarSwitch, new ActionBar.LayoutParams(
                        ActionBar.LayoutParams.WRAP_CONTENT,
                        ActionBar.LayoutParams.WRAP_CONTENT,
                        Gravity.CENTER_VERTICAL | Gravity.END));
            }
        }
         //將開關控件傳給BluetoothEnabler.用來更新藍牙的開關狀態
       mBluetoothEnabler = new BluetoothEnabler(activity, actionBarSwitch);
         //告知options menu ,fragment要加入菜單項
        setHasOptionsMenu(true);
    }


那么開關控件的初始狀態是怎樣獲取的呢??進入到BluetoothEnabler.java類中能夠發現。在該類的resume方法中對該switch有一個設置



當中handleStateChanged方法就是傳入當前藍牙的狀態,并對開關的狀態進行設置。

在手機恢復出廠設置后能夠看到開關狀態的默認值,該默認值相應的是def_bluetooth_on,在開機過程中會將該默認值相應的boolean值通過藍牙服務BluetoothManagerService保存起來。并通過本地的藍牙適配器獲取到當前藍牙狀態傳給switch開關。

所以假設你想改動藍牙默認開關能夠在framework/base/packages/SettingsProvider/res/values/default.xml中改動相應字段。

圈2:ActionBar底部欄。可進行藍牙設備的搜索,檢測時間,已配對設備列表等一些除了配對之外的設置,Actionbar的相關布局在onCreateOptionsMenu方法中,利用例如以下代碼可自己定義actionbar

               menu.add(groupId, itemId, order, title)
              .setEnabled(enabled)
                .setShowAsAction(actionEnum);

group_id:int 型數值,代表組的意思

item_id: int 型數值,每一個菜單選項的唯一標識

order_id:int 型數值。菜單顯示的順序,假設為0表示按add順序顯示

title: charsequence型數字,菜單item的title

setEnabled(enable):用來設置是否可點擊

setShowAsAction(actionEnum) : 用來設置屏幕寬度不同一時候item的顯示,actionEnum有下面幾個取值。

圈3:藍牙未開啟時preferencescreen沒有不論什么類別,listview的emptyview

         getListView().setEmptyView(mEmptyView);

圈4:本機藍牙設備的相關設置,包含本機藍牙名稱,藍牙對附近可用設備的可見性。藍牙對已經配對設備的可見性。當檢測到藍牙開啟時會加入一個本機藍牙信息的Preference。在方法updateContent中完畢加入或者移除,加入代碼例如以下:

 if (mMyDevicePreference == null) {
               //創建一個Preference
              mMyDevicePreference = new Preference(getActivity());
                }
                 //下面代碼用來設置Preference的標題。圖標,是否可點擊
             mMyDevicePreference.setTitle(mLocalAdapter.getName());
				
                if (getResources().getBoolean(com.android.internal.R.bool.config_voice_capable)) {
                  //假設是手機則顯示手機的圖標
                   mMyDevicePreference.setIcon(R.drawable.ic_bt_cellphone);    // for phones
                } else {
                 //假設不是手機諸如筆記本電腦,帶有藍牙模塊的單片機等,則顯示電腦的圖標
                 mMyDevicePreference.setIcon(R.drawable.ic_bt_laptop);   // for tablets, etc.
                }
                //是否將該Preference的值寫入SharedPreference文件里,true代表寫入
               mMyDevicePreference.setPersistent(false);
                //是否可點擊
              mMyDevicePreference.setEnabled(true);
              //加入一個Preference
              preferenceScreen.addPreference(mMyDevicePreference);

preferencescreen加入或者移除的代碼例如以下:

//加入一個種類的Preference
getPreferenceScreen().addPreference(mAvailableDevicesCategory);
.,....
//移除一個Preference
preferenceScreen.removePreference(mPairedDevicesCategory);
.....
//移除全部
Preference preferenceScreen.removeAll();


圈5:已配對設備列表mPairedDevicesCategory圈6:附近可用設備列表mAvailableDevicesCategory

總的來說,藍牙布局的實現借助的是actionbar+Preference,均是在代碼中動態的加入布局,Actionbar的加入操作在方法addPreferencesForActivity和onCreateOptionsMenu中實 現。

不同Category的Preference的加入和改動與藍牙開關狀態、是否有已經配對的藍牙設備以及附近是否有可用的藍牙設備。

藍牙界面的布局暫且介紹到這兒,有問題的可博文下留言,我再進行補充。

TWO,藍牙模塊方法簡單介紹

藍牙模塊打開后運行流程getHelpResource()---->addPreferencesForActivity()--->onCreateView()--->initDevicePreference()--->onAcitivityCreated()--->onResume()-->initDevicePreference()--->onCreateOptionsMenu()。

先介紹一下覆寫的方法的作用

1>。getResource()方法,定義在SettingPreferenceFragment.java類中。默認返回的是0,方法的解釋是假設想要在菜單條上顯示help item。能夠覆寫該方法,用于一些說明(Specified in product overlays)。

2>,addPreferencesForActivity()方法,用于加入actionbar上的switch。代碼見藍牙布局部分

3>,onCreateView()方法,fragment的生命周期方法,用于載入xml布局

@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
		addPreferencesFromResource(R.xml.bluetooth_settings);
		View v = inflater.inflate(R.layout.add_preference_list_fragment,null);
		mEmptyView = (TextView) v.findViewById(R.id.add_empty);
}


4>。initDevicePreference()方法。獲取到已經配對的藍牙設備,設置監聽事件

@Override
    void initDevicePreference(BluetoothDevicePreference preference) {
        CachedBluetoothDevice cachedDevice = preference.getCachedDevice();
        if (cachedDevice.getBondState() == BluetoothDevice.BOND_BONDED) {
            // Only paired device have an associated advanced settings screen
           //假設設備已經配對,則加入監聽事件
          preference.setOnSettingsClickListener(mDeviceProfilesListener);
        }
    }

5>,onDevicePreferenceClick()方法,遠程藍牙設備的點擊事件

 @Override
    void onDevicePreferenceClick(BluetoothDevicePreference btPreference) {
       //停止掃描 
     mLocalAdapter.stopScanning();
       //調用父類的點擊事件
      super.onDevicePreferenceClick(btPreference);
    }

6>。onBluetoothStateChanged()方法,藍牙開關狀態改變時監聽

7>。onScanningStateChanged()方法,監聽掃描可用藍牙設備時掃描的狀態改變,開啟掃描,正在掃描,掃描結束,并更新進度條

THREE,藍牙功能實現流程

功能模塊這塊兒主要分析一下實現的流程,代碼為輔。若在看源代碼時代碼有什么問題,可在博文下咨詢

1>。藍牙開關switch相關,

藍牙開關涉及到本地藍牙狀態的更改以及用戶點擊switch更改藍牙狀態,當本地藍牙狀態發生改變時須要更新switch的狀態,當switch的狀態發生改變時須要更新本地的藍牙狀態。這就涉及到了。注冊廣播監聽本地藍牙狀態。為switch注冊監聽器監聽switch的更改,以及對switch狀態進行設置的方法。

首先運行addPreferencesForActivity載入switch。在該方法中構造BluetoothEnabler對象,對switch的狀態進行初始化以及狀態改變的監聽。

接下來對BluetoothEnabler進行分析,先看一下BluetoothEnabler的構造方法

 public BluetoothEnabler(Context context, Switch switch_) {
        mContext = context;
        mSwitch = switch_;
        mValidListener = false;
       
      //首先推斷是否支持藍牙
     LocalBluetoothManager manager = LocalBluetoothManager.getInstance(context);
        if (manager == null) {
            // Bluetooth is not supported不支持藍牙此時藍牙本地適配器為null,開關狀態為未選中
         mLocalAdapter = null;
            mSwitch.setEnabled(false);
        } else {
            //假設支持藍牙獲取到本地藍牙適配器adapter,
          mLocalAdapter = manager.getBluetoothAdapter();
        }
           //藍牙開關狀態的過濾器
        mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
		
    }

緊接著在resume()中進行藍牙開關狀態的設置

public void resume() {
        if (mLocalAdapter == null) {
            //假設藍牙適配器為空,則將resume方法返回。不進行resume方法中的剩余操作
          mSwitch.setEnabled(false);
            return;
        }

        // Bluetooth state is not sticky, so set it manually
       //必須手動的去監聽藍牙狀態的改變
        //依據本地藍牙適配器獲取到此時藍牙的狀態。對switch進行設置
      handleStateChanged(mLocalAdapter.getBluetoothState());
         
        //注冊廣播監聽藍牙狀態的改變
        mContext.registerReceiver(mReceiver, mIntentFilter);
        //為switch設置監聽事件
      mSwitch.setOnCheckedChangeListener(this);
        mValidListener = true;
    }

在resume方法中做了三件事,

i>,依據本地藍牙適配器獲取到此時的藍牙狀態對switch進行設置handleStateChanged(state)方法代碼非常easy,不再贅述

ii>,注冊廣播監聽藍牙狀態-----當系統藍牙狀態發生改變時須要更新switch狀態,廣播接收器中的代碼例如以下

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // Broadcast receiver is always running on the UI thread here,
            // so we don't need consider thread synchronization.
            int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
             //針對不同的藍牙狀態對switch進行設置
           handleStateChanged(state);
        }
    };

iii>。為switch設置監聽事件,當switch發生改變時,須要對系統的藍牙狀態進行行改變。

系統的藍牙開關狀態發生改變時,會發送狀態改變的廣播,對switch進行更改

 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
 
        // shouldn't setBluetoothEnabled(true) in airplane mode.
      //飛行模式下藍牙不可用
    if (mLocalAdapter != null) {
            if (isChecked && WifiSettings.needPrompt(mContext)) {
                return;
            }
          //當switch開關狀態發生改變時,對系統本地藍牙狀態進行設置
         mLocalAdapter.setBluetoothEnabled(isChecked);
        }
    //當switch狀態進行改變時,讓其不可點擊
    mSwitch.setEnabled(false);
    }

接下來看看對本地藍牙適配器更改的方法

public void setBluetoothEnabled(boolean enabled) {
       //依據switch的enable來開啟或者關閉藍牙,success返回運行結果
        boolean success = enabled
                ? mAdapter.enable()
                : mAdapter.disable();
        isPairing = false;
        if (success) {
           //假設系統藍牙開啟或者關閉操作成功,將狀態更新
           setBluetoothStateInt(enabled
                ? BluetoothAdapter.STATE_TURNING_ON
                : BluetoothAdapter.STATE_TURNING_OFF);
        } else {
           //假設系統藍牙沒有開啟或者關閉成功,則將藍牙狀態進行更新保存為當前系統藍牙的狀態
            syncBluetoothState();
        }
    }

BluetoothAdapter的enable方法用于開啟藍牙,disable用于關閉藍牙

2>。本機藍牙設置。包含可檢測性、藍牙名稱、可檢測時間。

i>,載入本機藍牙相關信息

在updateContent方法中進行動態的加入preference(單一控件,相似checkbox)或者preferencecategory(組合控件,相似linearlayout)。本機藍牙的信息加入的是一個preference

if (mMyDevicePreference == null) {
                    mMyDevicePreference = new Preference(getActivity());
                }
               //設置preference的title標題,顯示的是藍牙名稱
              mMyDevicePreference.setTitle(mLocalAdapter.getName());
		//假設是手機。圖標設置為手機的圖標,假設是平板電腦或其它則設置為電腦圖標		
                if (getResources().getBoolean(com.android.internal.R.bool.config_voice_capable)) {
                    mMyDevicePreference.setIcon(R.drawable.ic_bt_cellphone);    // for phones
                } else {
                    mMyDevicePreference.setIcon(R.drawable.ic_bt_laptop);   // for tablets, etc.
                }
                //是否將該preference的信息保存在sharedPreference中
              mMyDevicePreference.setPersistent(false);
                //設置preference可點擊
              mMyDevicePreference.setEnabled(true);
                //加入mMyDevicePreference
                preferenceScreen.addPreference(mMyDevicePreference);

                if (!isRestrictedAndNotPinProtected()) {
                    if (mDiscoverableEnabler == null) {
                        mDiscoverableEnabler = new BluetoothDiscoverableEnabler(getActivity(),
                                mLocalAdapter, mMyDevicePreference);
                        //進行藍牙可檢測性的設置
                        mDiscoverableEnabler.resume();
                        LocalBluetoothManager.getInstance(getActivity()).setDiscoverableEnabler(
                                mDiscoverableEnabler);
                    }
                }
                  <pre name="code" class="java">                // Paired devices category
                //載入已經配對的設備列表
             if (mPairedDevicesCategory == null) {
                    mPairedDevicesCategory = new PreferenceCategory(getActivity());
                } else {
                    mPairedDevicesCategory.removeAll();
                }
                addDeviceCategory(mPairedDevicesCategory,
                        R.string.bluetooth_preference_paired_devices,
                        BluetoothDeviceFilter.BONDED_DEVICE_FILTER);
                //獲取到已經配對的設備的數量。關系到mMyDevicePreference的summary顯示的文本
              int numberOfPairedDevices = mPairedDevicesCategory.getPreferenceCount();
                if (mDiscoverableEnabler != null) {
                         //依據已配對的數量對顯示的summary進行處理
                         mDiscoverableEnabler.setNumberOfPairedDevices(numberOfPairedDevices);
                }


ii>。改動藍牙名稱

改動藍牙名稱的按鈕在菜單條中id為MENU_ID_RENAME_DEVICE,過程是改動后將藍牙名稱賦給系統的藍牙適配器,系統藍牙適配發送廣播通知藍牙名稱已經改動,在接受到藍牙名稱改動后的廣播后更新preference的title。

代碼流程例如以下

 public boolean onOptionsItemSelected(MenuItem item) {
          ........
            case MENU_ID_RENAME_DEVICE:
              //彈出改動的對話框,在點擊確定時會調用改動藍牙名稱的方法
             
               new BluetoothNameDialogFragment().show(
                        getFragmentManager(), "rename device");
                return true;
                ......
}

當藍牙名稱發生變化后,會發送廣播通知藍牙名稱已變,對preference進行更新。

在此進行強調。僅僅要是對對話框中的編輯框進行了編輯,不論內容是否改動(比方刪除之后又加入上一模一樣的),均會發送藍牙名稱已經更改的廣播。至此。藍牙名稱的改動已經結束

iii>,藍牙可檢測性的改動

先普及一個知識有助于理解藍牙的可檢測性,BluetoothAdapter的getScanMode有三個值。它們的含義各自是

SCAN_MODE_NONE,int型值。大小為20。表示對不論什么設備不可見,且無法進行掃描功能

SCAN_MODE_CONNECTABLE,int型值,大小為21,表示僅僅對已經配對的設備可見,能夠掃描其它設備

SCAN_MODE_CONNECTABLE_DISCOVERABLE,int型值,大小為23。表示對附近全部設備可見,能夠掃描其它設備。

藍牙的可檢測性由本地藍牙的掃描模式BluetoothAdapter的getScanMode()來決定,所以接下來首先將藍牙的可檢測性顯示在mMyDevicePreference的summary副標題處,然后副標題的更新位于類BluetoothDiscoverableEnabler中,在該類的resume方法中首先須要注冊廣播監聽本地藍牙掃描模式的改變

 private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            //監聽藍牙的掃描模式的改變
             if (BluetoothAdapter.ACTION_SCAN_MODE_CHANGED.equals(intent.getAction())) {
                int mode = intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE,
                        BluetoothAdapter.ERROR);
                if (mode != BluetoothAdapter.ERROR) {
                  //假設掃描模式發生了改變且沒有錯誤發生,就去更新副標題
                   handleModeChanged(mode);
                }
            }
        }
    };

更新副標題的方法例如以下,由于分三種模式,所以副標題也有三種情況

void handleModeChanged(int mode) {
        //對附近全部設備可見,且可掃描
        if (mode == BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
            //將標志位置為true,與該preference的點擊事件有關
            mDiscoverable = true;
          //依據時間更新副標題。此時副標題顯示的是對附近全部設備可見以及可見時長
          updateCountdownSummary();
        } else {
           
          mDiscoverable = false;
            //更新副標題,假設已配對設備列表為空,則為對全部設備不可見。假設已配對設備列表不為空,則為對已配對設備可見
            setSummaryNotDiscoverable();
        }
    }

然后為preference加入一個點擊事件,當點擊preference時將標志位取反,并且更新preference的summary以及藍牙的掃描模式

public boolean onPreferenceClick(Preference preference) {
        mDiscoverable = !mDiscoverable;
        setEnabled(mDiscoverable);
        return true;
    }

在更新summary的時候涉及到對可檢測性時間的更新,說一下實現邏輯不貼代碼了。有須要的再問吧

首先明白可檢測性事件,然后在開啟限時的可檢測性后再更新summary的方法中開啟一個線程,該線程中再次調用該更新summary的方法。在更新summary中的方法中會對時間進行推斷,假設時間結束了,就退出該方法。

3>。已配對設備列表

見下一篇 Android4.42-Setting源代碼分析之藍牙模塊Bluetooth(下)



總結

以上是生活随笔為你收集整理的Android4.42-Settings源代码分析之蓝牙模块Bluetooth(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧洲一区二区三区精品 | 亚洲永久精品在线 | 久草视频99| 久青草国产在线 | 97色综合| 色多视频在线观看 | 日韩激情视频在线 | 久久精品国产精品亚洲 | 日韩区欧美久久久无人区 | www.色午夜.com | 99热最新精品 | 欧美少妇xxxxxx | 日韩一区二区免费在线观看 | 中文av在线免费观看 | 天天曰| 九九涩涩av台湾日本热热 | 99国产情侣在线播放 | 国产午夜精品一区二区三区 | 免费福利小视频 | 日韩欧美在线第一页 | 麻豆传媒一区二区 | 国产成人精品一区二区三区网站观看 | 国产福利一区二区三区在线观看 | 免费视频成人 | 成人在线观看你懂的 | 在线观看国产麻豆 | 久久国产一区 | 久久综合狠狠 | 欧美日韩精品在线一区二区 | 中文字幕av免费 | 中文字幕在线播放日韩 | 国产九九九精品视频 | 高潮久久久久久久久 | 337p日本大胆噜噜噜噜 | 激情五月婷婷综合 | 在线免费观看视频 | 九九热在线免费观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 午夜视频在线观看一区二区三区 | 午夜精品久久久久久久99无限制 | 888av | 中文字幕色站 | 国内精品视频一区二区三区八戒 | 国产成人一区二区啪在线观看 | 国产精品区免费视频 | 久久蜜臀一区二区三区av | 色综合久久久 | 天天综合在线观看 | 成人av中文字幕 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品久久在线观看 | 国产精品麻豆果冻传媒在线播放 | 91pony九色丨交换 | 91亚洲精品久久久中文字幕 | 激情婷婷在线 | 欧美精品一区二区免费 | 亚洲最新视频在线 | 九九九在线观看 | 性色视频在线 | 九九九电影免费看 | 久久深夜福利免费观看 | 最新av网址大全 | 黄色av高清 | 国产在线一区观看 | 久热免费在线 | 手机看国产毛片 | 国产精品完整版 | 国产精品免费观看网站 | 亚洲国产999 | 日本精品视频免费 | 狠狠色噜噜狠狠狠狠2022 | 国产精品久久99精品毛片三a | 美女福利视频一区二区 | 四虎影视精品 | 91天天操 | 99re视频在线观看 | 日本久久久久久久久 | 国产免费又爽又刺激在线观看 | 999热视频| 日韩av中文字幕在线免费观看 | www欧美xxxx| 久久久男人的天堂 | 亚洲一区不卡视频 | 婷婷伊人综合 | 欧美在线a视频 | 国产玖玖在线 | 日本在线观看一区 | av 一区二区三区 | www.天天操.com | 伊人婷婷激情 | 激情欧美xxxx | 久久99国产精品自在自在app | 99热在线精品观看 | 久久免费视频6 | 亚洲精品婷婷 | 丁香六月网 | 99在线国产| 久久少妇免费视频 | 碰超人人 | 久久美女精品 | 欧美一级免费片 | 超碰免费97 | 黄污网站在线观看 | 久久亚洲欧美 | 国产免费黄视频在线观看 | 欧美精品一级视频 | 日日爽天天 | 欧美日韩中文视频 | 91丨九色丨高潮丰满 | 久久99热精品这里久久精品 | 91av免费在线观看 | 天天玩夜夜操 | 国产精品嫩草影院99网站 | 日韩一区二区三区视频在线 | 成人免费毛片aaaaaa片 | 日韩欧美视频免费看 | 久久一线| 91精品对白一区国产伦 | 五月天综合色激情 | 亚洲精品美女久久久 | 超碰在线94 | 99精品国产一区二区三区不卡 | 日韩午夜剧场 | 国产99一区| av免费网站观看 | 草久中文字幕 | 久久免费福利视频 | 免费性网站 | 在线有码中文 | 亚洲最大色 | 久久成人精品电影 | 波多野结衣资源 | 91传媒91久久久 | 国产色在线,com | 免费观看午夜视频 | 人人添人人澡人人澡人人人爽 | 国产精品2020 | 国产精品久久99综合免费观看尤物 | 国产成人99av超碰超爽 | www.夜夜爱 | 天天综合导航 | 黄网在线免费观看 | 国产一级淫片免费看 | 制服丝袜欧美 | 亚洲国产人午在线一二区 | 久久艹在线 | 欧美精品网站 | 99免费在线视频 | 久久精品一二三区 | 免费在线播放黄色 | 最近中文字幕大全 | 91福利影院在线观看 | av网址最新 | 天天射天天干 | 中文字幕在线观看免费高清电影 | 国产成人黄色片 | 国产成人福利 | 丁五月婷婷 | 精品毛片久久久久久 | 午夜天天操 | av大片免费看 | 色综合五月天 | 91精品国产网站 | 国产精品久久久久久久久久 | 日本黄色免费在线 | 91在线影视 | 丰满少妇久久久 | 九九在线播放 | 天天爱天天操天天爽 | 国产九色在线播放九色 | 欧美 日韩精品 | 黄色片视频免费 | 国产精品亚洲成人 | 又黄又色又爽 | 又黄又爽又色无遮挡免费 | 久久午夜电影网 | 久久久精品欧美一区二区免费 | 96香蕉视频 | 97超碰精品| 91成人区| 成人av片免费观看app下载 | 在线观看视频99 | 久久人操| 伊人久久影视 | 久久久午夜电影 | 99精品在线观看视频 | 欧美在线91 | www.夜夜操.com| 国产午夜精品一区二区三区欧美 | 亚洲自拍av在线 | 人人澡人人舔 | 91人人网| 久久99视频免费 | 国产精品原创av片国产免费 | 国产欧美综合视频 | 韩国精品一区二区三区六区色诱 | 一本一本久久a久久 | 激情综合五月婷婷 | av中文字幕网站 | 免费在线观看日韩视频 | 国产伦理剧 | 国产精品成人国产乱 | 三级动图| 特级a老妇做爰全过程 | 日韩两性视频 | 亚洲国产精品一区二区久久hs | 97成人在线视频 | av在线h| 在线观看亚洲国产 | 国产成人精品久久 | 99色精品视频 | 成人久久综合 | 国产黄在线观看 | 中文字幕日本特黄aa毛片 | 一本—道久久a久久精品蜜桃 | 涩涩网站在线看 | 国产高清免费观看 | 免费 在线 中文 日本 | 久久国产视频网 | 国产在线观看你懂的 | 中文字幕 国产视频 | 综合久久精品 | 国产一卡二卡四卡国 | 四虎成人精品永久免费av | 国产一区二区三区四区在线 | 天天艹天天 | 国产精品igao视频网入口 | 日韩欧美一级二级 | 美女久久久久久久久久 | 午夜三级在线 | 99久久国产免费免费 | 欧美a影视 | 91精品国产麻豆国产自产影视 | 国产综合久久 | 日韩视频1区 | 在线中文日韩 | 亚洲精品99久久久久久 | 天天操天天综合网 | 日本精品免费看 | 免费一级日韩欧美性大片 | 超碰人人草 | av蜜桃在线| 日韩在线视频不卡 | 亚洲免费在线播放视频 | 精品国产一区二区三区久久久蜜臀 | 亚州精品天堂中文字幕 | va视频在线 | 丁香影院在线 | 美女网站色免费 | 人人插人人射 | 免费看黄的视频 | 日韩高清精品免费观看 | 天天射射天天 | 永久免费av在线播放 | av电影中文字幕在线观看 | 国产精品国产三级国产aⅴ无密码 | 欧美激情综合五月 | 成年人免费在线观看网站 | 一区二区三区www | av片一区二区 | 人人澡人摸人人添学生av | 色偷偷网站视频 | 超碰公开在线观看 | 亚洲午夜久久久久久久久久久 | 亚洲女裸体 | 日本中文乱码卡一卡二新区 | 91黄色视屏 | 国产一级电影网 | 久久免费视频在线观看30 | 国产精品久久久久久久久久新婚 | 91视频 - 114av | 深夜免费福利网站 | 天天爽天天搞 | 日韩免费观看高清 | av先锋中文字幕 | 99爱在线观看 | 一区二区三区在线视频观看58 | 在线看成人| 国产欧美综合视频 | 91av官网| av在线免费在线 | 日韩免费视频线观看 | 亚州免费视频 | 亚洲高清视频在线播放 | 天天摸日日摸人人看 | 日韩二区三区在线 | 亚洲精品视频在线观看免费视频 | 97自拍超碰 | 香蕉视频18 | 欧美精品v国产精品v日韩精品 | 欧美性极品xxxx娇小 | 在线观看视频你懂的 | 视频三区在线 | 欧美日韩中文在线观看 | 99精品久久久久久久久久综合 | 久草视频资源 | 久久久久成人精品免费播放动漫 | 国产精品一区二区av日韩在线 | 一级做a爱片性色毛片www | 国产一区免费在线 | 国产视频99 | 久久精品人 | 国产一级高清视频 | 久久99热这里只有精品国产 | 国产精久久 | 亚洲国产精品成人精品 | 国产精品av在线 | 欧美美女视频在线观看 | 久久草在线免费 | 国产自在线 | av三级在线播放 | 999久久精品 | 成人午夜电影久久影院 | 中文字幕精品一区 | 一区二区三区免费看 | 高清av影院 | 亚洲精品国产成人 | 天天操天天色综合 | 欧美做受高潮电影o | 欧美综合在线视频 | 欧美激情精品久久久久久变态 | www日日夜夜 | 成人app在线免费观看 | www.操.com| 精品美女久久久久 | 碰超在线观看 | 日韩城人在线 | 国产青草视频在线观看 | 国产小视频精品 | 亚洲精品无 | 日韩午夜在线观看 | 欧美成人中文字幕 | 色婷婷电影 | 成人免费在线观看入口 | 亚洲午夜精品久久久久久久久久久久 | 操操综合 | 手机成人在线 | 亚洲欧美视频 | 日韩免费三区 | 久久男人视频 | 伊人射 | 综合色中色 | 午夜电影中文字幕 | 欧美日韩免费看 | 93久久精品日日躁夜夜躁欧美 | 337p日本欧洲亚洲大胆裸体艺术 | 色噜噜狠狠色综合中国 | 91av短视频 | 五月婷婷黄色网 | 色综合亚洲精品激情狠狠 | 香蕉精品视频在线观看 | 欧美日本不卡视频 | 精品视频99 | 欧美婷婷色 | 国产69久久久欧美一级 | 波多野结衣在线视频免费观看 | 欧美大片第1页 | 免费合欢视频成人app | 99精品国产aⅴ | 97超碰人人爱 | 精品久久电影 | 最近乱久中文字幕 | 亚洲一区二区三区在线看 | 国产成人一级电影 | 免费av影视| 午夜精品久久久久久久久久久 | 国产精品久久久久久久久久尿 | 蜜臀av网址 | 精品国产乱码久久久久久1区2匹 | 国产精品粉嫩 | 天天干天天做天天操 | 激情自拍av| 国产精品黄色在线观看 | 在线观看亚洲精品视频 | 国产一区观看 | 在线播放一区二区三区 | 久久视频这里有精品 | 亚洲精品自拍视频在线观看 | 成人免费xyz网站 | 国产精品久久久久久久久久妇女 | 国产一级黄色av | www欧美色| 欧美激情第一区 | 久久亚洲私人国产精品 | 欧美a级免费视频 | 中文字幕免费高清 | 91在线观| 夜夜躁日日躁狠狠躁 | 久久艹国产视频 | 中文字幕在线观看完整版电影 | 又爽又黄在线观看 | 午夜电影久久久 | 热久久国产精品 | 欧美在线观看视频一区二区 | 一区二区三区免费 | 国产精品日韩在线播放 | 免费观看版| 久久视频精品在线观看 | 成人免费色 | 特黄特黄的视频 | 亚洲精品黄色在线观看 | 国产精品美女久久 | 日韩精品中文字幕有码 | 免费看国产精品 | 九9热这里真品2 | 国产成人久久久77777 | 色99久久 | 久久亚洲区 | 国产剧情一区 | 色综合激情网 | 国内精品久久久久久久久久清纯 | 色五月成人 | 亚洲电影第一页av | 久久久久久毛片 | 超碰人人做 | av中文字幕在线看 | 国产精品午夜在线 | 国产最新视频在线观看 | 日韩乱色精品一区二区 | free. 性欧美.com | 天天骚夜夜操 | 亚洲乱码国产乱码精品天美传媒 | 在线免费观看欧美日韩 | 视频一区视频二区在线观看 | 国产在线精品一区二区 | 亚洲黄网站 | 91麻豆精品国产91久久久久 | 一级免费片| 亚洲精品美女久久 | 青青五月天| 免费久久精品视频 | 99爱爱| 国产成人精品午夜在线播放 | 日韩精品一区二区三区免费观看视频 | 国产精品久久久久久久久久久久 | 夜添久久精品亚洲国产精品 | 四虎影视8848aamm | 国产精品黄色 | 婷婷丁香av| 亚洲欧洲精品一区二区精品久久久 | 久久手机看片 | 欧美激情综合色 | 日日夜夜人人天天 | 亚洲精品中文字幕视频 | 日韩在线视频免费观看 | 天天狠狠 | 日韩在观看线 | 亚洲午夜电影网 | 欧美日韩在线观看一区 | 日韩av免费一区 | 中文字幕韩在线第一页 | 人人添人人澡人人澡人人人爽 | 天堂av色婷婷一区二区三区 | 国产成人精品三级 | 久久艹国产视频 | 国产一卡二卡在线 | 亚州国产视频 | 国产精品久久久777 成人手机在线视频 | 91黄色免费网站 | 国产精品 中文在线 | 国产精品久久久久免费观看 | av网在线观看 | 久久五月天婷婷 | av大全在线 | 国产成人精品一区二三区 | 久久99久久99精品免费看小说 | 免费人成网 | 青青河边草免费视频 | 日韩精品视频免费专区在线播放 | 国产精品丝袜久久久久久久不卡 | japanesexxxxfreehd乱熟 | 欧美性猛片, | 久久久久久蜜av免费网站 | 精品视频国产一区 | 日韩黄色av网站 | 天天操天天摸天天射 | 人人爱人人做人人爽 | 久久久久久影视 | 永久免费av在线播放 | 成人午夜影院在线观看 | 国产字幕在线看 | 九九热免费观看 | 麻豆视频一区二区 | 91av蜜桃| 久青草视频 | 国产黄在线 | 国产精品成人aaaaa网站 | 亚洲视频在线看 | 欧美日产一区 | 亚洲男女精品 | 国产一在线精品一区在线观看 | 亚洲高清在线观看视频 | 成人黄视频 | 国产99久久九九精品 | 999国产 | 色狠狠狠 | 国产一线二线三线性视频 | 婷婷av综合 | 亚洲日本黄色 | 婷婷 综合 色 | 国产福利在线免费 | 91精品国产亚洲 | 最新av在线播放 | 亚洲区精品 | 在线观看免费国产小视频 | 日韩精品免费在线播放 | 九九热视频在线播放 | 亚洲国产成人精品电影在线观看 | 久久8精品 | 免费一级特黄录像 | 国产一区视频在线 | www成人av| 少妇bbbb搡bbbb搡bbbb | 日韩免费电影网 | 久草精品电影 | 最近免费中文字幕mv在线视频3 | 色噜噜噜噜 | 六月激情久久 | 天天操网站 | 播五月婷婷 | 国产一区二区视频在线播放 | 综合久久2023 | 亚洲 欧美 国产 va在线影院 | 亚洲成人免费在线 | 中文字幕一区二区三区四区 | 亚洲电影黄色 | 又黄又爽又无遮挡的视频 | 亚洲理论片在线观看 | 亚洲精品在线免费 | 日本少妇视频 | 日本女人逼 | 欧美日韩国产二区 | 日本福利视频在线 | 国产在线精品播放 | 久久视讯| www国产精品com| 伊人影院av | 国产区在线看 | 97精品国产97久久久久久 | 丁香婷婷射 | 99这里只有精品99 | 大胆欧美gogo免费视频一二区 | 成人免费视频在线观看 | 亚洲国内精品视频 | 亚洲精选视频在线 | 亚洲电影影音先锋 | 国产尤物视频在线 | 国产精品剧情 | 丁香婷婷久久久综合精品国产 | wwwwwww色| 日日夜夜网 | 久久99精品国产麻豆宅宅 | 制服丝袜在线 | 久久精品91视频 | 日韩av有码在线 | 国产精品久久99综合免费观看尤物 | 91精品国产福利 | 国产色婷婷精品综合在线手机播放 | 欧美一级视频免费看 | 成年人免费在线观看网站 | 夜夜骑天天操 | 成人教育av | 久久久久久综合网天天 | 国产一区免费观看 | 免费观看性生活大片 | 久久这里只有精品视频99 | ,久久福利影视 | japanese黑人亚洲人4k | 中文字幕在线视频一区二区 | 久久99久久99精品免费看小说 | 亚洲国产中文字幕在线 | 伊人资源视频在线 | 国产精品一区久久久久 | 欧美一级视频免费看 | 久免费 | 成人 亚洲 欧美 | 久久久国产精品成人免费 | 中文字幕日韩有码 | 一本一本久久a久久精品综合妖精 | 国产精品久久久久久久免费 | 天天干天天天天 | 伊人资源视频在线 | 欧美一级艳片视频免费观看 | 在线看日韩 | 国产精品久久久久久妇 | 丝袜美腿在线 | 93久久精品日日躁夜夜躁欧美 | 免费av网站在线 | av三区在线 | 日本中文字幕在线看 | 欧美一区二区三区免费看 | 久久经典视频 | 97国产精品 | 欧美激情在线看 | 久久99这里只有精品 | 毛片3| 国产小视频在线免费观看视频 | 日韩在线中文字幕视频 | 99在线视频观看 | 日韩高清一二三区 | 97超碰人人干| 久久久午夜剧场 | 嫩嫩影院理论片 | 97精品超碰一区二区三区 | 五月亚洲综合 | 国产精品男女啪啪 | 日韩三级不卡 | 午夜视频在线观看网站 | 久久成人精品电影 | 婷婷免费在线视频 | 国产在线va | 国产精品初高中精品久久 | 精品国产1区2区3区 国产欧美精品在线观看 | 日韩欧美电影在线 | 日韩精品免费在线播放 | 亚洲精品影院在线观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 人人舔人人舔 | 成人性生交视频 | 丁香激情视频 | 久久免费电影网 | 黄色小说网站在线 | a成人v | 亚洲精品啊啊啊 | 伊人开心激情 | 精品久久久久久久久久国产 | 中文字幕丝袜一区二区 | 天天综合色网 | 一级免费看 | 91精品久久久久久久久久入口 | 久久久蜜桃 | 精品超碰| 国内精品久久久久久久久久久 | 国产精品黄色在线观看 | 狠狠88综合久久久久综合网 | 精品福利av | 久久成人国产精品入口 | 狠狠躁夜夜躁人人爽视频 | 91在线免费观看国产 | 成人免费在线观看电影 | av免费观看网址 | 在线观看aa | 狠狠色丁香婷婷综合视频 | 岛国片在线 | 欧美一级在线观看视频 | 午夜美女福利直播 | 国产中文视频 | 久久精品5 | 午夜av影院| 日韩午夜高清 | 国产精品久久久久久久久久免费看 | 91麻豆精品国产自产在线 | 国产亚洲综合性久久久影院 | 日韩精品免费一区二区 | 麻豆传媒精品 | 成人在线黄色 | 国产精品美 | 久久人人添人人爽添人人88v | 亚洲午夜久久久久久久久久久 | 中文电影网 | 欧美男女爱爱视频 | 色网站免费在线观看 | 91在线视频免费 | 美女久久99 | 国产精品乱码一区二三区 | 国产免费不卡av | 国产精品成人在线观看 | 国产免费a | 国产视频1区2区3区 久久夜视频 | 香蕉国产91 | 久久欧美在线电影 | 69国产成人综合久久精品欧美 | 丁香六月网 | 五月天综合网站 | 午夜体验区 | 欧美日一级片 | 精品一二三区视频 | 日日夜夜天天射 | 99精品在这里 | 久久国产麻豆 | 中文字幕永久免费 | 久久综合九色综合欧美就去吻 | 免费av大全 | 中文字幕欧美日韩va免费视频 | 精品免费视频. | 免费国产在线精品 | 美女黄网站视频免费 | 一级片免费在线 | 狠狠色免费 | 欧美日韩啪啪 | 欧美日本三级 | 伊人亚洲综合网 | 91激情视频在线 | 国产精品区在线观看 | av线上看| 探花视频免费在线观看 | 国产又粗又猛又黄又爽的视频 | 国产中文在线播放 | 久久国内精品视频 | 国产涩涩网站 | 开心激情久久 | 中文字幕免费 | 日日弄天天弄美女bbbb | 亚洲欧洲av | 高潮久久久 | 又黄又刺激视频 | 1000部18岁以下禁看视频 | 国产精品久久久久久久久大全 | 国产一级一片免费播放放 | 久久久久草 | 国产成人一区二区三区电影 | 91av电影在线 | 精品高清美女精品国产区 | 激情视频免费在线观看 | 特级毛片在线 | av大全在线免费观看 | 五月天婷婷免费视频 | 国产精品毛片一区二区在线看 | 天天射天天操天天色 | 中文字幕高清免费日韩视频在线 | 久久婷婷久久 | 狠狠干夜夜爽 | 手机在线永久免费观看av片 | 国产精品免费一区二区三区在线观看 | 久久经典视频 | 欧美了一区在线观看 | 欧美性大战 | 麻豆视频免费观看 | 成人av片免费观看app下载 | 国产无遮挡又黄又爽馒头漫画 | 中文字幕亚洲欧美日韩 | 中文字幕免费国产精品 | 天堂av网在线 | 国产精品va | 香蕉影视 | 亚洲美女免费视频 | 日本久久久久久久久 | 美女视频黄是免费的 | 国内99视频| www.色午夜,com | 久草网站在线观看 | 综合婷婷久久 | 黄色美女免费网站 | 日韩美女免费线视频 | 国产二区免费视频 | 亚洲五月六月 | 麻豆91精品91久久久 | 人人狠狠综合久久亚洲 | 人人玩人人添人人澡97 | 欧美精品乱码久久久久 | 成年人免费观看在线视频 | 欧美国产日韩一区二区三区 | 色中文字幕在线观看 | www视频免费在线观看 | 五月天色中色 | 少妇搡bbb| 97人人网| 欧美另类一二三四区 | 久久精品一二三区白丝高潮 | 亚洲在线黄色 | 九九涩涩av台湾日本热热 | 99久久er热在这里只有精品66 | 日韩精品免费一区二区在线观看 | 久久综合精品国产一区二区三区 | 国产亚洲婷婷免费 | 奇米导航 | 日韩精品电影在线播放 | 亚洲激情 欧美激情 | 久久久久久国产精品亚洲78 | a在线视频v视频 | 天天插狠狠插 | 国产日产亚洲精华av | 久久手机精品视频 | 国产一级黄色av | 在线视频电影 | 久久a v视频 | 午夜精品视频一区二区三区在线看 | 国产美女精品视频免费观看 | 在线日韩一区 | 国产粉嫩在线 | 伊人视频| 五月香视频在线观看 | 午夜美女网站 | 国产日本在线 | 国产网红在线 | 成人a在线| 免费av在线网站 | 免费在线中文字幕 | 欧美粗又大| 人人爽久久久噜噜噜电影 | 国产精品黄网站在线观看 | 国产在线观看a | 六月色婷婷 | 色99久久| 免费网址在线播放 | 99精品视频在线观看播放 | 在线观看成人国产 | 国产午夜激情视频 | www国产亚洲精品久久麻豆 | 亚洲免费av一区二区 | 久久精品2 | 婷婷www| www久久精品 | 国产精品国产三级国产专区53 | 欧美99热| 欧美精品免费在线观看 | 亚洲欧美国产精品18p | 一区二区三区免费在线播放 | 人人爽人人爽人人片 | 超碰夜夜 | 国产精品久久久久久久久久妇女 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 这里只有精品视频在线观看 | 国产亚洲午夜高清国产拍精品 | 国产剧情久久 | 亚洲精品视频在线观看免费 | 婷婷丁香色 | 久久国产精品二国产精品中国洋人 | 92中文资源在线 | 成人啪啪18免费游戏链接 | 激情五月伊人 | 色偷偷97 | a黄色片在线观看 | 亚洲欧美视频在线播放 | 国模精品一区二区三区 | 久久在线免费观看 | 国产精品自产拍 | 色婷婷国产精品 | 黄色免费网站大全 | 日本久久综合视频 | 九九精品在线观看 | 麻豆91精品视频 | 久在线| 日韩免费看的电影 | 中文字幕在线播放第一页 | 97电院网手机版 | 国模精品一区二区三区 | 在线观看国产高清视频 | 91精品一区在线观看 | 欧美日本三级 | 中文字幕亚洲综合久久五月天色无吗'' | 91视频在线网址 | 在线视频a| 久草在线最新视频 | 日韩视频一区二区三区在线播放免费观看 | 九九久久在线看 | 日韩精品无码一区二区三区 | 精品国产一区二区三区免费 | 国产精品久久久久永久免费看 | 99综合久久 | av片在线看 | 亚洲专区欧美专区 | sesese图片 | 日韩高清成人 | 久久婷婷国产 | 日韩网站免费观看 | 中文字幕色网站 | 91污视频在线观看 | 国产清纯在线 | 日本久久久久久科技有限公司 | 日本久久高清视频 | 涩涩爱夜夜爱 | 国产一区二区三区高清播放 | 国产v在线观看 | 亚洲精品日韩av | 91porny九色91啦中文 | 成人蜜桃视频 | 手机成人av | 97超碰在线久草超碰在线观看 | 国产精品免费在线播放 | 国产免费区 | 国产激情免费 | 9999毛片| 日韩久久久久久久久久久久 | 91精品一区二区三区久久久久久 | 久久久久亚洲精品男人的天堂 | 日韩专区在线观看 | 国产精品3区 | 日韩欧美一区二区三区黑寡妇 | 99热这里只有精品免费 | 国产高清久久久 | 在线国产福利 | 亚洲精品乱码久久久久久蜜桃不爽 | 国产最新网站 | japanesexxxxfreehd乱熟 | 男女精品久久 | 久久久久www| 日本久久成人中文字幕电影 | 亚洲一级黄色片 | 成人黄大片 | 97精品一区二区三区 | 欧美另类xxxx | 国产 视频 高清 免费 | 麻豆成人在线观看 | 99av国产精品欲麻豆 | 精品视频在线免费观看 | 色噜噜在线观看视频 | 日日夜夜精品免费 | 久久手机免费观看 | 天天激情天天干 | 欧美少妇影院 | 亚洲激情网站免费观看 | 国产九色在线播放九色 | 欧美精品乱码久久久久 | 中文字幕在线中文 | 黄色小网站在线观看 | 久久久精品免费看 | 免费国产ww| 欧美极品xxx | 香蕉视频国产在线 | 午夜精品一区二区三区四区 | 免费高清影视 | 午夜少妇一区二区三区 | 亚洲婷婷网 | 2018亚洲男人天堂 | 久久老司机精品视频 | 免费看一级特黄a大片 | 在线精品在线 | 欧美激情在线网站 | a级国产乱理论片在线观看 伊人宗合网 | 成人午夜电影在线观看 | 色www精品视频在线观看 | 国产高清一区二区 | 91精品在线观看视频 | 91视频这里只有精品 | 91精品影视 | 天天躁日日躁狠狠躁av中文 | 亚洲欧美视频在线 | 日韩av黄| 久草综合视频 | 亚洲理论视频 | 黄色免费看片网站 | 亚洲精品久久久久久中文传媒 | 久久a v电影 | 国产高清第一页 | 久草网站在线 | 91精品国产入口 | 少妇精品久久久一区二区免费 | 成人动漫视频在线 | 日韩av资源在线观看 | 中文有码在线视频 | 91久久精品日日躁夜夜躁国产 | 日韩av二区 | 国产免费视频一区二区裸体 | 精品国产一区二区三区四 | 国产精品久久久久久久99 | 日日爱999 | 亚洲免费精彩视频 | 午夜久久福利影院 | 日韩精品一区二区三区第95 | 日本午夜在线观看 | 51久久夜色精品国产麻豆 | 国产丝袜制服在线 | 色在线免费视频 | 国产精品一区二区62 | 最近乱久中文字幕 | 国产成人不卡 | 免费人成在线观看 | 久久私人影院 | 99成人精品 | 国产精品婷婷午夜在线观看 | 色丁香久久 | 亚洲高清视频在线播放 | 色网站免费在线观看 | 热久久免费视频精品 | 狠狠操狠狠干2017 | 欧美黄在线 | 视频一区二区精品 | 成人午夜黄色 | 99视频网站 | 狠狠激情中文字幕 | 国产精品成人免费 | 99久久精品免费看 | 97人人射 | 国产高清 不卡 | 在线播放 日韩专区 | 午夜精品久久久久久久99水蜜桃 | 国产精品一区在线 | 亚洲精品国产电影 | 激情欧美国产 | 久久avav | 一本—道久久a久久精品蜜桃 | 成人影片在线免费观看 | 丰满少妇在线观看 | 午夜久久久精品 | 亚洲成人国产 | 日韩激情在线视频 | 999免费视频 | 黄色一级片视频 | 久久优 | 日韩欧美在线一区二区 | 国产精品日韩在线 | 国产在线看 | 中文字幕精品一区二区三区电影 | 久草视频免费看 | 九九九九热精品免费视频点播观看 | 欧美大码xxxx | 日韩欧美在线观看一区二区三区 |