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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android GPS 简介

發(fā)布時(shí)間:2024/3/12 Android 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android GPS 简介 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

GPS源碼簡介

1.? 源碼結(jié)構(gòu)

主要分為四部分,client ,service ,jni ,hardware ?

·????????client

用于上層APP調(diào)用,API包是android.location

/frameworks/base/location/* ?????

·????????service

/frameworks/base/services/java/com/android/server/location/

/frameworks/base/services/java/com/android/server/LocationManagerService.java

·????????JNI

JNI層只有一個(gè)文件,起到承上啟下的作用。上層承接Framework,下層調(diào)用HAL層具體硬件抽象實(shí)現(xiàn)。

frameworks/base/core/jni/android_location_GpsLocationProvider.cpp

·????????hardware

HardwareAbstract Layer 硬件抽象層,

HAL層相當(dāng)于一個(gè)linux應(yīng)用程序接口,通過open,close等操作,操作硬件設(shè)備。

hardware/libhardware_legacy/gps/*(hardware 接口部分)。

?2. location服務(wù)

location服務(wù)是在SystemServer.java 中啟動(dòng)的,也就是系統(tǒng)啟動(dòng)之后,在SystemServer.java中,向ServiceManager中添加服務(wù):

try {

Slog.i(TAG, "LocationManager");

location = newLocationManagerService(context); //實(shí)例化一個(gè)LocationManagerService對(duì)象。

ServiceManager.addService(Context.LOCATION_SERVICE,location);

} catch (Throwable e) {

Slog.e(TAG, "Failure startingLocation Manager", e);

}

這時(shí)候服務(wù)就已經(jīng)啟動(dòng)了,但是啟動(dòng)后,還得判斷服務(wù)是否可用,在SystemServer.java中判斷如下:

final LocationManagerService locationF = location;

if (locationF != null) locationF.systemReady(); //調(diào)用LocationManagerService對(duì)象的

通過 locationF.systemReady()判斷是否可用,locationF.systemReady()的調(diào)用流程如下:

a、locationF.systemReady()啟動(dòng)了SystemServer.java的一個(gè)線程。

void systemReady() {

// we defer starting up theservice until the system is ready

Thread thread = newThread(null, this, "LocationManagerService");

thread.start();

}

b、在SystemServer.java的線程run函數(shù)中調(diào)用initialize()初始化。

public void run() {

Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);

Looper.prepare();

mLocationHandler = newLocationWorkerHandler();

initialize();

Looper.loop();

}

c、初始化函數(shù)中,調(diào)用loadProviders() 函數(shù)Load providers。

privatevoid initialize()

{

......

loadProviders();

......

}

d、最后調(diào)用到GpsLocationProvider.isSupported()判斷是否支持GPS。

privatevoid _loadProvidersLocked() {

if (GpsLocationProvider.isSupported())

GpsLocationProvidergpsProvider = new GpsLocationProvider(mContext,this);

addProvider(gpsProvider);

}

updateProvidersLocked();

}

_loadProvidersLocked()主要完成三部分工作,判斷是否支持GPS,如果支持GPS,創(chuàng)建GpsLocationProvider對(duì)象,并加入到mProviders表中,最后調(diào)用updateProvidersLocked()更新GpsLocationProvider,打開或關(guān)閉GPS。

e、boolean isSupported 通過JNI方法,調(diào)用JNI層接口native_is_supported()判斷是否支持GPS。

GpsLocationProvider.java

publicstatic boolean isSupported() {

returnnative_is_supported(); // JNI調(diào)用方法,//native 是java關(guān)鍵字,表示它將由

JNI完成判斷GPS模塊是否存在

}

LocationManagerService服務(wù)啟動(dòng)相關(guān)先介紹到這里,下面介紹GPS另外一個(gè)重要的API:GpsLocationProvider。

3、GpsLocationProvider

GpsLocationProvider也是一個(gè)很重要的接口,是連接framework和JNI的紐帶,創(chuàng)建一個(gè)線程GpsLocationProviderThread來處理上層對(duì)底層的消息命令。

在LocationManagerService中,判斷GPS可用后,會(huì)創(chuàng)建一個(gè)GpsLocationProvider實(shí)例,并加入到mProviders表中。

GpsLocationProvidergpsProvider = new GpsLocationProvider(mContext,this);

addProvider(gpsProvider);

在LocationManagerService的updateProvidersLocked()中,會(huì)開啟或關(guān)閉GPS,調(diào)用GpsLocationProvider的enable方法開啟、調(diào)用disable方法關(guān)閉GPS。

GpsLocationProvider的構(gòu)造函數(shù)中,會(huì)創(chuàng)建一個(gè)線程GpsLocationProviderThread來處理上層對(duì)底層的消息命令:

mThread = newGpsLocationProviderThread();

mThread.start();

在GpsLocationProviderThread的run中:

public void run() {

Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);

initialize();

Looper.prepare();

mHandler = new ProviderHandler();

// signal when we are initialized andready to go

mInitializedLatch.countDown();

Looper.loop();

}

創(chuàng)建一個(gè)ProviderHandler的循環(huán)消息處理上層的消息。現(xiàn)在反過來看GpsLocationProvider的enable和disable方法:

publicvoid enable() {

synchronized(mHandler) {

sendMessage(ENABLE, 1, null);

}

}

publicvoid disable() {

synchronized(mHandler) {

sendMessage(ENABLE, 0, null);

}

}

從上可以看出,通過發(fā)送消息ENABLE,在消息處理里面處理ENABLE消息

privatefinal class ProviderHandler extends Handler {

@Override

publicvoid handleMessage(Message msg) {

intmessage = msg.what;

switch(message) {

caseENABLE:

if(msg.arg1 == 1) {

handleEnable();

} else {

handleDisable();

}

break;

}

}

handleEnable和handleDisable最后通過native_init、native_stop等調(diào)用JNI層C++代碼方法,JNI層在com_android_server_location_GpsLocationProvider.cpp文件中。

3、LocationManager

LocationManager系統(tǒng)服務(wù)是位置服務(wù)的核心組件,它提供了一系列方法來處理與位置相關(guān)的問題,包括查詢上一個(gè)已知位置、注冊和注銷來自某個(gè)LocationProvider的周期性的位置更新、注冊和注銷接近某個(gè)坐標(biāo)時(shí)對(duì)一個(gè)已定義的Intent的觸發(fā)等。

應(yīng)用程序不能直接創(chuàng)建LocationManager實(shí)例對(duì)象,必須通過調(diào)用Context的getSystemService方法獲取,例如:

mLocationManager =

(LocationManager)mContext.getSystemService(Context.LOCATION_SERVICE);

往下跟蹤,如何通過Context的getSystemService獲取實(shí)例的:

privateLocationManager getLocationManager() {

synchronized(sSync) {

if(sLocationManager == null) {

IBinder b =ServiceManager.getService(LOCATION_SERVICE);

ILocationManagerservice =ILocationManager.Stub.asInterface(b);

sLocationManager= new LocationManager(service);

}

}

returnsLocationManager;

}

從這里可以看到,會(huì)創(chuàng)建一個(gè)LocationManager實(shí)例并返回,并且LocationManager通過IBinder和AIDL接口ILocationManager和LocationManagerService通信。

獲得LocationManager服務(wù)實(shí)例后,就可以通過調(diào)用它的API了,LocationManager一些API說明:

publicboolean addGpsStatusListener(GpsStatus.Listener listener):添加一個(gè)監(jiān)聽GPS狀態(tài)的監(jiān)聽器。

publicvoid addProximityAlert(double latitude, double longitude,

floatradius, long expiration, PendingIntent intent):添加一個(gè)臨近警告。

publicLocation getLastKnownLocation(String provider):根據(jù)LocationProvider獲取最近一次已知的location信息

publicvoid requestLocationUpdates(String provider,

longminTime, float minDistance, LocationListener listener)通過制定的LocationProvider周期性地獲取定位信息,并處罰listener對(duì)應(yīng)的觸發(fā)器。

還有其他的一些接口,就不一一介紹了。

4、JNI層

JNI層只有一個(gè)文件,起到承上啟下的作用。上層承接Framework,下層調(diào)用HAL層具體硬件抽象實(shí)現(xiàn)。

com_android_server_location_GpsLocationProvider.cpp。

JNI重要的回調(diào)函數(shù):

GpsCallbackssGpsCallbacks = {

sizeof(GpsCallbacks),

location_callback,

status_callback,

sv_status_callback,

nmea_callback,

set_capabilities_callback,

acquire_wakelock_callback,

release_wakelock_callback,

create_thread_callback,

};

這組回調(diào)函數(shù),在初始化的時(shí)候,會(huì)通過GpsInterface接口函數(shù)注冊到HAL層,在HAL層中。這組回上報(bào)。

staticconst GpsInterface* GetGpsInterface(JNIEnv* env, jobject obj) {

// thismust be set before calling into the HAL library

if(!mCallbacksObj)

mCallbacksObj= env->NewGlobalRef(obj);

if(!sGpsInterface) {

sGpsInterface= get_gps_interface();

}

if(!sGpsInterface || sGpsInterface->init(&sGpsCallbacks) != 0) {

sGpsInterface= NULL;

returnNULL;

}

returnsGpsInterface;

}

其中sGpsInterface->init(&sGpsCallbacks)將sGpsCallbacks回調(diào)函數(shù)注冊到HAL層去。

5、HAL層

GpsInterface接口是gps模塊中最重要的數(shù)據(jù)結(jié)構(gòu),它是底層驅(qū)動(dòng)實(shí)現(xiàn)的接口,定義在gps.h中定義,然后根據(jù)具體的硬件,實(shí)現(xiàn)這組接口。在12007項(xiàng)目中,這組接口定義如下:

staticconst GpsInterface sLocEngInterface =

{

sizeof(GpsInterface),

loc_eng_init,

loc_eng_start,

loc_eng_stop,

loc_eng_cleanup,

loc_eng_inject_time,

loc_eng_inject_location,

loc_eng_delete_aiding_data,

loc_eng_set_position_mode,

loc_eng_get_extension,

};

在JNI層,利用static const GpsInterface*get_gps_interface()函數(shù)獲取這組GpsInterface接口。在上述的JNI層中,通過sGpsInterface->init(&sGpsCallbacks)來注冊JNI層的回調(diào)函數(shù),即通過loc_eng_init來注冊JNI層的回調(diào)函數(shù)。

loc_eng_init是一個(gè)非常重要的函數(shù),在該函數(shù)中,主要作用如下:

a、注冊sGpsCallbacks回調(diào)函數(shù)

loc_eng_data.location_cb= callbacks->location_cb;

loc_eng_data.sv_status_cb= callbacks->sv_status_cb;

loc_eng_data.status_cb= callbacks->status_cb;

loc_eng_data.nmea_cb= callbacks->nmea_cb;

loc_eng_data.acquire_wakelock_cb= callbacks->acquire_wakelock_cb;

loc_eng_data.release_wakelock_cb =callbacks->release_wakelock_cb;

b、在loc_api_glue_init中創(chuàng)建一個(gè)RPC client通訊,獲取底層GPS數(shù)據(jù)

c、創(chuàng)建處理GPS數(shù)據(jù)的線程

loc_eng_data.deferred_action_thread= callbacks->create_thread_cb("loc_api", loc_eng_process_deferred_action, NULL);

loc_eng_process_deferred_action專門用來處理GPS數(shù)據(jù)。

進(jìn)入loc_eng_process_deferred_action中的loc_eng_process_loc_event處理函數(shù),分析一下position數(shù)據(jù)上報(bào)的流程:

staticvoid loc_eng_process_loc_event (rpc_loc_event_mask_type loc_event,

rpc_loc_event_payload_u_type*loc_event_payload)

{

if(loc_event & RPC_LOC_EVENT_PARSED_POSITION_REPORT)

{

loc_eng_report_position(&(loc_event_payload->rpc_loc_event_payload_u_type_u.parsed_location_report));

}

}

繼續(xù)往下跟蹤

staticvoid loc_eng_report_position (const rpc_loc_parsed_position_s_type*location_report_ptr)

{

loc_eng_data.location_cb (&location);

}

loc_eng_data.location_cb調(diào)用這個(gè)函數(shù)的時(shí)候相當(dāng)于真正調(diào)的是JNI注冊到hal的函數(shù),通過這種方式就實(shí)現(xiàn)了jni與hal的數(shù)據(jù)傳遞。loc_eng_data.location_cb就是JNI層的回調(diào)函數(shù)location_callback。

6、GPS數(shù)據(jù)上傳流程

應(yīng)用通過GPS服務(wù)的getLastKnownLocation方法獲得最近一次已知的Location信息,這Location信息是如何從底層往上傳遞而來的呢?下面以Location為例,分析從底層數(shù)據(jù)往上傳遞,一直到應(yīng)用通過getLastKnownLocation獲得最近信息的整個(gè)流程。

從上述HAL層的分析,數(shù)據(jù)通過loc_eng_data.location_cb(&location),也就是通過JNI層的回調(diào)函數(shù)location_callback將數(shù)據(jù)上報(bào)到JNI層,看一下JNI層location_callback具體代碼:

static void location_callback(GpsLocation* location)

{

JNIEnv* env = AndroidRuntime::getJNIEnv();

env->CallVoidMethod(mCallbacksObj, method_reportLocation,location->flags,

(jdouble)location->latitude,(jdouble)location->longitude,

(jdouble)location->altitude,

(jfloat)location->speed,(jfloat)location->bearing,

(jfloat)location->accuracy,(jlong)location->timestamp);

checkAndClearExceptionFromCallback(env, __FUNCTION__);

}

再看一下JNI初始化語句:

static voidandroid_location_GpsLocationProvider_class_init_native(JNIEnv* env, jclassclazz){

method_reportLocation = env->GetMethodID(clazz, "reportLocation", "(IDDDFFFJ)V");

}

從中可以看出,通過JNI方法,將數(shù)據(jù)上報(bào)到GpsLocationProvider.reportLocation,完成了數(shù)據(jù)從C/C++層上報(bào)到Java層的過程。

分析GpsLocationProvider. reportLocation函數(shù):

privatevoid reportLocation(int flags, double latitude, double longitude, doublealtitude,

floatspeed, float bearing, float accuracy, long timestamp){

try {

mLocationManager. reportLocation(mLocation, false);

catch (RemoteException e) {

Log.e(TAG, "RemoteException callingreportLocation");

}

}

在GpsLocationProvider. reportLocation中,調(diào)用了成員變量mLocationManager的reportLocation方法。

mLocationManager是什么呢?我們來看GpsLocationProvider的構(gòu)造函數(shù)

publicGpsLocationProvider(Context context, ILocationManager locationManager) {

mContext = context;

mLocationManager = locationManager;

}

再看GpsLocationProvider創(chuàng)建實(shí)例的地方,在LocationManagerService類中創(chuàng)建實(shí)例GpsLocationProvider:

private void _loadProvidersLocked() {

if (GpsLocationProvider.isSupported())

GpsLocationProvider gpsProvider =new GpsLocationProvider(mContext,this);

addProvider(gpsProvider);

}

updateProvidersLocked();

}

可以看出,GpsLocationProvider中的mLocationManager是LocationManagerService的引用,所以

mLocationManager的reportLocation方法是LocationManagerService中reportLocation方法,具體定義如下:

publicvoid reportLocation(Location location, boolean passive) {

mLocationHandler.removeMessages(MESSAGE_LOCATION_CHANGED,location);

Message m = Message.obtain(mLocationHandler, MESSAGE_LOCATION_CHANGED, location);

m.arg1 = (passive ? 1 : 0);

mLocationHandler.sendMessageAtFrontOfQueue(m);

}

向mLocationHandler發(fā)了一條消息MESSAGE_LOCATION_CHANGED,mLocationHandler處理消息如下:

privateclass LocationWorkerHandler extends Handler {

@Override

publicvoid handleMessage(Message msg) {

try {

if(msg.what == MESSAGE_LOCATION_CHANGED) {

handleLocationChangedLocked(location, passive);

}

lastLocation = mLastKnownLocation.get(provider);

if (lastLocation == null) {

mLastKnownLocation.put(provider, new Location(location));

} else {

lastLocation.set(location);

}

}

最終將Location信息添加到mLastKnownLocation中,到這里L(fēng)ocation信息上報(bào)流程基本結(jié)束了,再從應(yīng)用層看,LocationManager.getLastKnownLocation是如何獲得Location信息的。

public Location getLastKnownLocation(String provider) {

return mService.getLastKnownLocation(provider);

}

getLastKnownLocation調(diào)用LocationManager的成員變量mService的getLastKnownLocation方法,從Context的方法getSystemService獲取LocationManager實(shí)例可知,mService是LocationManagerService的引用,所以通過LocationManagerService的getLastKnownLocation方法獲得Location信息:

public Location getLastKnownLocation(String provider) {

Location loc = _getLastKnownLocationLocked(provider);

return loc

}

private Location _getLastKnownLocationLocked(String provider) {

Location loc = mLastKnownLocation.get(provider);

return loc

}

Location信息最終是從mLastKnownLocation中獲得,而通過上面數(shù)據(jù)上報(bào)的分析可知,Location信息最終也是上報(bào)到mLastKnownLocation表中,到此,Location信息從底層上報(bào),一直到應(yīng)用層獲得Location信息的流程分析完畢。

其流程圖如下:

???

總結(jié)

以上是生活随笔為你收集整理的Android GPS 简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产第一页精品 | 美女国内精品自产拍在线播放 | 免费视频一区 | 久黄色 | 在线观看亚洲专区 | 成人av一区二区三区 | 久久婷婷激情 | 中文字幕在线看视频国产 | 91精品少妇偷拍99 | 天天综合网入口 | 一区二区不卡高清 | 欧美日韩裸体免费视频 | 992tv在线成人免费观看 | 欧美一级视频在线观看 | 国内亚洲精品 | 中文av在线天堂 | 国产精品美女久久久久久免费 | 91精品资源| 国产色中涩 | 全黄色一级片 | 久久理伦片 | 成人免费观看大片 | www.夜夜操.com | 99精品视频在线播放观看 | 日韩精品第一区 | 综合五月 | 日韩免费一级电影 | 中文字幕资源网 国产 | 欧美一级日韩免费不卡 | 国产美女无遮挡永久免费 | 日日草av | 一区中文字幕在线观看 | 西西人体4444www高清视频 | 蜜臀av免费一区二区三区 | 91精品爽啪蜜夜国产在线播放 | 有码中文在线 | 99精品欧美一区二区三区黑人哦 | 91女人18片女毛片60分钟 | 日韩电影在线视频 | 久久好看免费视频 | 午夜精品一二区 | 久久99热这里只有精品国产 | 日韩a级黄色片 | 久久亚洲精品国产亚洲老地址 | 黄色小说视频在线 | 中文字幕在线中文 | 日韩精品视频免费看 | 日韩理论在线视频 | a在线视频v视频 | 久久成人毛片 | 久草观看视频 | 国产精品久久中文字幕 | 黄色资源在线观看 | 91成人精品国产刺激国语对白 | 免费国产在线视频 | 欧美日韩不卡一区二区三区 | 亚洲成人资源在线观看 | www黄色软件 | 久久综合一本 | 一区二区三区在线电影 | 中文字幕欧美日韩va免费视频 | 97人人添人澡人人爽超碰动图 | 国产精品6999成人免费视频 | 日本精品视频在线 | 九九久久电影 | 日本三级不卡 | 婷婷国产在线观看 | 久久久久福利视频 | 国产五月天婷婷 | 色综合久久久久综合体桃花网 | 夜色资源站国产www在线视频 | 国产精品18久久久久久vr | 麻豆传媒视频在线 | 欧美日韩成人 | 国产字幕在线观看 | 国产九九在线 | 草莓视频在线观看免费观看 | 中文字幕在线观看第一区 | 一本一本久久a久久 | a在线免费观看视频 | 国产亚洲精品久久久久久电影 | 欧美动漫一区二区三区 | 中文字幕 在线看 | 字幕网在线观看 | 探花视频免费观看高清视频 | 久久五月激情 | 日韩毛片一区 | 国产色爽 | 国产免费视频在线 | 国产一区在线视频播放 | 91原创在线观看 | 久久国产精品一国产精品 | 久久免费精品视频 | 色播五月激情五月 | 国产精品久久久久一区二区国产 | 国产精品专区在线 | 超碰在线观看99 | 天天干天天草天天爽 | 亚洲一区日韩在线 | 国产精品免费观看视频 | 日产乱码一二三区别在线 | 高清精品在线 | 日韩视频在线观看免费 | www.888.av| 国产不卡高清 | 亚洲国产精品电影在线观看 | 97视频免费观看 | 精品国产乱码 | 伊人五月天 | 婷婷色六月天 | 色综合天天爱 | 中文字幕在线观看视频免费 | 美女露久久 | 91入口在线观看 | 成人免费观看大片 | 天天爽天天做 | 天堂在线视频中文网 | 最新国产精品拍自在线播放 | 成人免费视频观看 | www.天天色.com| 5月丁香婷婷综合 | 国产又粗又猛又黄又爽的视频 | 久草亚洲视频 | 国内精品美女在线观看 | 66av99精品福利视频在线 | 欧美黄色软件 | 91在线免费播放 | 色播激情五月 | 国产亚洲情侣一区二区无 | 99久久精品免费看国产免费软件 | 国产精品成人在线观看 | 国产区在线视频 | 日韩欧美精品一区二区三区经典 | 91大神精品视频在线观看 | 91欧美精品 | 精品国产一区二区三区久久久久久 | 五月婷婷六月丁香在线观看 | 91精品视频在线看 | 国语对白少妇爽91 | 精品视频在线免费观看 | 国内免费的中文字幕 | 国产精品成人自产拍在线观看 | 久久九九国产视频 | 成人黄色免费在线观看 | 日韩在线高清 | 国产不卡免费视频 | 亚洲第一区在线观看 | 日韩精品视频在线观看免费 | 天海冀一区二区三区 | 亚洲精品在 | 日韩在线观看的 | 久久免费视频这里只有精品 | 午夜私人影院久久久久 | 一区中文字幕在线观看 | 日韩在线理论 | 国产69精品久久久久9999apgf | 日韩黄色在线观看 | 美女精品在线观看 | 亚洲精品综合一区二区 | 国产黄色片在线免费观看 | 欧美日韩国产在线一区 | 日本三级在线观看中文字 | 一二三区视频在线 | 国产精品成人自拍 | 国产免费久久av | 欧美成人精品三级在线观看播放 | 国产三级在线播放 | 亚洲人成在线观看 | 麻豆视频免费看 | 91精品成人 | 精品久久久精品 | 免费在线一区二区三区 | 免费看精品久久片 | www.狠狠干 | 久久精品综合一区 | 亚洲黄色小说网址 | 亚洲 欧美 综合 在线 精品 | 黄色小网站在线观看 | 激情婷婷网 | 日韩欧美v| 精品久久久影院 | 日韩性片 | 人人爽人人爽人人片av免 | 91视频网址入口 | 久久国产成人午夜av影院潦草 | 丁香影院在线 | 免费视频黄色 | 中文字幕日本特黄aa毛片 | 国语黄色片| 射综合网 | 免费在线观看午夜视频 | 亚洲成人资源网 | 久久99久久99免费视频 | 视频二区在线视频 | 狠狠色丁香婷婷综合 | 日日爱网站 | 国产一区二区精品 | 日批视频 | 91视频在线国产 | 中文字幕日韩有码 | 天天综合网天天 | 色久天| 久久久久国产成人精品亚洲午夜 | 中文视频一区二区 | 九九九九精品 | 亚洲高清视频在线观看免费 | 久久亚洲美女 | 色综合久久88色综合天天人守婷 | 中文字幕在线观看完整 | 亚洲激情校园春色 | 九九免费在线观看视频 | 国产免费小视频 | 狠狠色伊人亚洲综合网站野外 | 国产成人av电影在线 | 日韩乱色精品一区二区 | 人人插人人做 | 热久久99这里有精品 | 精品乱码一区二区三四区 | 国内精品久久久久影院日本资源 | 激情久久婷婷 | 国产精品视频99 | 激情开心 | 在线视频久久 | 国内精品在线一区 | 亚洲一区二区麻豆 | 欧美日韩中文在线 | 国产精品成人一区二区三区吃奶 | 大荫蒂欧美视频另类xxxx | 日韩精品免费一区二区 | 欧美日韩视频一区二区 | 天天干夜夜操视频 | 婷婷婷国产在线视频 | 国产精品毛片久久蜜 | 日韩av片无码一区二区不卡电影 | 日韩在线视频观看 | 视频在线91 | 国产精品自产拍在线观看网站 | 青草视频在线 | 久草观看 | 国产免费观看高清完整版 | 九九九九免费视频 | 国产成人在线免费观看 | 人人草人 | 免费十分钟 | 伊人久久五月天 | 日韩色爱 | 国产成人精品一区二区在线 | 久久久久久久久久久久亚洲 | 天天拍天天爽 | 九九在线视频免费观看 | 日韩精品久久一区二区 | 国产一级片视频 | 国产不卡在线 | 五月综合在线观看 | 国产无套一区二区三区久久 | 亚洲精品国产综合久久 | 日韩精品一卡 | 69xxxx欧美 | 91久色蝌蚪 | 国产精品资源在线 | 亚洲一区黄色 | 在线观看视频h | 久久久免费在线观看 | 国产资源免费在线观看 | 五月天高清欧美mv | 国产精品专区h在线观看 | 国产亚洲精品久久久网站好莱 | 久草视频在线资源 | 欧美 日韩 国产 成人 在线 | 最新av网址在线观看 | 91av视频导航 | 国产女做a爱免费视频 | 三级小视频在线观看 | 欧美疯狂性受xxxxx另类 | av在线com | 成人在线播放免费观看 | 特级黄录像视频 | 成人一级在线 | 精品免费观看视频 | 国产成人精品三级 | 国产剧情久久 | av福利网址导航大全 | 99理论片 | 日韩经典一区二区三区 | 日韩在线视频一区二区三区 | 日韩二区三区在线观看 | 国产高清无线码2021 | 日本亚洲国产 | 亚洲国产精品99久久久久久久久 | 久久精品毛片 | 亚洲色五月 | 人人揉人人揉人人揉人人揉97 | a√国产免费a | 国产精品国产三级国产aⅴ无密码 | 婷婷亚洲综合 | 久草在线视频免费资源观看 | 在线看毛片网站 | 黄色网址a | 亚洲婷婷伊人 | 久久久久久久久久久久久久av | 99电影456麻豆| 欧美日韩亚洲精品在线 | 久久国产精品视频 | www黄色com| 女人高潮特级毛片 | 日韩精品免费专区 | 久久精品久久国产 | 日本精品一二区 | 国产精品久久久久久久av电影 | 99久久精品一区二区成人 | 久久久久久免费毛片精品 | 激情丁香| 天天插天天爱 | 天天干天天操 | 免费视频 你懂的 | 久青草国产在线 | 婷婷5月色 | 91精品久| 波多野结衣一区 | 亚洲乱码国产乱码精品天美传媒 | 日韩丝袜 | 国产福利91精品张津瑜 | 高清精品视频 | 久久精品国产精品亚洲精品 | 草久中文字幕 | 波多野结衣在线中文字幕 | 精品免费一区二区三区 | 精品久久久久久一区二区里番 | 视频三区 | 成年人电影毛片 | 亚洲国内在线 | 免费视频91 | h动漫中文字幕 | 深爱婷婷久久综合 | 91精品视频观看 | 亚洲国产精品资源 | 99久久精品国产免费看不卡 | 久久久久久久久久久久亚洲 | 日韩电影在线观看一区 | 国产成人精品一区二区三区 | 日韩影片在线观看 | 国产在线精品区 | 亚洲日本欧美在线 | 伊人婷婷 | 国产首页 | 特级西西www44高清大胆图片 | 国产美女精彩久久 | 最近日本mv字幕免费观看 | 欧美精品在线观看免费 | 在线视频观看你懂的 | 啪啪小视频网站 | 欧美少妇影院 | 亚洲 欧洲av | 婷婷丁香av | 激情欧美丁香 | 亚洲永久精品视频 | 三级av网站 | 亚洲精品综合一二三区在线观看 | 久操视频在线 | 日韩免费一级电影 | 色中射| 日韩久久精品一区二区三区下载 | 国产精品21区 | 在线观看www视频 | 香蕉影院在线播放 | 日日日视频 | 国产在线视频在线观看 | 伊人资源视频在线 | 97免费视频在线 | 99久久精品电影 | 欧美在线aaa | 99精品欧美一区二区蜜桃免费 | 97热久久免费频精品99 | 97福利视频| 国产日韩精品一区二区三区在线 | 91mv.cool在线观看 | 日韩av五月天 | 免费网站在线观看人 | 中文字幕区 | 亚洲精品福利在线 | 日韩一二三区不卡 | 国产玖玖精品视频 | 国产精品扒开做爽爽的视频 | 在线电影 一区 | 中文字幕在线视频一区二区三区 | 99精品国产视频 | 国产黄色免费在线观看 | 国产黄色a | 91视频久久久久久 | 四虎在线观看网址 | 国产成人av电影在线 | 免费的国产精品 | 在线观看视频一区二区三区 | 99色99| 久久一区二区三区国产精品 | 国产一区二区三区黄 | 日韩在线视频免费看 | 国产一级久久久 | 国产美女在线免费观看 | 亚洲三级在线播放 | 国模吧一区 | 国产精品亚洲精品 | 亚洲精品国产综合久久 | 五月婷婷激情网 | 久久av伊人 | 欧洲精品码一区二区三区免费看 | 成人av在线亚洲 | 四虎在线观看 | 99久高清在线观看视频99精品热在线观看视频 | 日韩h在线观看 | 怡红院久久 | 亚洲成av人片在线观看无 | 欧美一区二区在线刺激视频 | 国产中文字幕视频 | 黄色大片国产 | 在线不卡中文字幕播放 | 日黄网站 | 色com网| 天天操天天操天天操天天操天天操天天操 | 欧美在线观看视频免费 | 久久综合九色综合久久久精品综合 | 国产成人一区二区在线观看 | 99热这里只有精品国产首页 | 久久高清毛片 | 国产精品久久久久aaaa九色 | 福利久久久 | 香蕉久草 | 国产精品久久久久久久久久尿 | 免费看黄视频 | 精品久久综合 | 国产中文字幕一区 | 亚洲黄色免费在线看 | 免费亚洲婷婷 | 一区二区三区日韩在线 | 99在线国产 | 久久婷婷国产色一区二区三区 | 亚洲欧美国产精品 | 成人福利在线播放 | 97色婷婷成人综合在线观看 | 91亚洲精品国偷拍自产在线观看 | 亚州国产精品 | av大全在线播放 | 9999国产| 激情小说网站亚洲综合网 | 91一区二区三区在线观看 | 亚洲精品影院在线观看 | 国产精品不卡在线播放 | 最新中文字幕在线播放 | av在线免费播放 | 韩国av不卡| 欧美日本啪啪无遮挡网站 | 日韩理论片中文字幕 | 久久综合九色综合欧美狠狠 | 日韩免费看片 | 五月的婷婷 | 综合久久网 | 久久精品国产免费看久久精品 | 欧美日韩亚洲在线观看 | 在线va视频| 久草视频在线播放 | 美女久久久久久久久久 | 日韩一区在线播放 | 九九免费在线看完整版 | 麻豆视传媒官网免费观看 | 久久超级碰视频 | 国产成人三级在线观看 | 成人小视频在线观看免费 | 亚洲一区 影院 | 九九电影在线 | 91免费版成人 | 亚洲人人网 | 成人免费在线观看入口 | 午夜久操| 国产精品国产三级国产不产一地 | 国产福利一区二区三区视频 | 亚洲国产最新 | 免费看污的网站 | 日韩经典一区二区三区 | 亚洲精品毛片一级91精品 | 精品视频www | 久久a久久 | 三级黄色片在线观看 | 天天操夜夜曰 | 久久久久久久久久久高潮一区二区 | 欧美综合色在线图区 | 国产精品欧美久久久久三级 | 欧美日韩国产精品久久 | 日日爱网站| 天天干天天在线 | 久久精品久久久久 | 国产亚洲成人网 | 免费亚洲视频在线观看 | 久久综合九色九九 | 久久久在线| 99在线观看精品 | 日韩久久一区 | 国产福利91精品张津瑜 | 久久电影网站中文字幕 | 日韩欧美综合视频 | 国产精品久久久久久久久久免费 | 狠狠色香婷婷久久亚洲精品 | 久草在线资源网 | 日韩在线观看视频一区二区三区 | av亚洲产国偷v产偷v自拍小说 | 亚洲精品美女在线 | 国产精品久久久久久久久久久久久 | 五月婷婷视频在线观看 | 天天综合网 天天 | 美女黄频 | 五月天天在线 | 综合网五月天 | avwww在线观看 | 国产色拍拍拍拍在线精品 | 免费91麻豆精品国产自产在线观看 | 成年免费在线视频 | 五月激情丁香图片 | 视频在线国产 | 久黄色| www免费网站在线观看 | 国产精品亚洲综合久久 | 日韩欧美高清不卡 | 国产另类av | 久久免费国产电影 | 中文字幕精品一区 | 在线视频你懂 | 国语久久| 欧美日韩国产一区二区在线观看 | www.人人干| 亚洲国产精品视频在线观看 | 黄污在线观看 | av在线播放免费 | 国产色在线,com | 五月婷婷视频在线观看 | 国产色视频网站 | 99久久精品国产亚洲 | 欧美精品久久99 | 日韩在线观看视频中文字幕 | 91成人免费看片 | 国产一区二区三区高清播放 | 一区免费观看 | 欧美日韩精品在线观看视频 | 成人小视频在线 | 一级黄色电影网站 | 日韩精品一区二区三区水蜜桃 | 亚洲天天摸日日摸天天欢 | 在线国产激情视频 | 日本mv大片欧洲mv大片 | 国产精品久久久久毛片大屁完整版 | 亚洲国产99 | 91av九色 | 99精品一区二区三区 | 婷婷久久精品 | 国产91精品久久久久 | 国产亚洲观看 | 在线观看视频在线观看 | av福利在线 | 91九色最新| 国产网红在线观看 | 日韩一区精品 | 免费观看完整版无人区 | 欧美日韩国产精品久久 | 日韩欧美国产精品 | 欧美日韩性视频在线 | 在线观看免费av片 | 欧美视屏一区二区 | 一级一片免费观看 | www好男人| 久久久久久久av | 亚洲性xxxx | 国产精品一码二码三码在线 | 久久九九九九 | 国产成人黄色网址 | 久久视频在线观看中文字幕 | 婷婷资源站 | 天天射综合网视频 | 亚洲最大激情中文字幕 | 日韩激情免费视频 | 国产成人一区二区三区久久精品 | 久草久| 久久夜夜操 | 91日韩在线 | 国产精品久久久久久久久软件 | 日韩精品无 | 一本一道久久a久久精品蜜桃 | 久久精品国产成人精品 | 在线视频观看91 | av在线之家电影网站 | 91免费看片黄 | 日韩精品久久久久久久电影99爱 | av免费观看网址 | 亚洲干视频在线观看 | 精品夜夜嗨av一区二区三区 | 黄色国产在线观看 | 91av视频在线免费观看 | 日韩精品观看 | 97精品免费视频 | 黄色成人在线网站 | 一区二区视频电影在线观看 | 天天干,天天草 | 国产大陆亚洲精品国产 | 高清av免费一区中文字幕 | 欧美激情视频免费看 | 久久黄页 | 99视频精品在线 | 久久玖| 97超碰免费在线观看 | 精品福利片 | 国产精品videossex国产高清 | 人人狠狠 | 日韩在线观看视频一区二区三区 | 一区二区三区在线视频观看58 | 91你懂的| 免费看污片 | 男女激情网址 | 69精品| 国产精品久久久一区二区三区网站 | 免费成人在线电影 | 成年人免费观看在线视频 | 亚洲视频在线观看网站 | 亚洲精品高清视频在线观看 | 97偷拍在线视频 | 国产免费高清 | 亚洲视频大全 | 国产最新在线 | 免费开视频 | 娇妻呻吟一区二区三区 | 免费看网站在线 | 99精品视频在线观看免费 | 国产高清一级 | 99精品国产免费久久久久久下载 | av黄色在线| 免费在线观看日韩视频 | 99久久99久久综合 | 欧美日韩首页 | av不卡网站 | 99精品在线免费观看 | 国产精品久久久久永久免费看 | 亚洲免费资源 | 99爱在线观看 | 在线看片日韩 | 日韩视频免费在线 | 日韩av中文字幕在线 | 国产精品不卡一区 | 91麻豆精品国产91久久久使用方法 | 中文字幕日韩一区二区三区不卡 | 91精品国产福利在线观看 | 日韩影视精品 | 中文字幕在线观看视频免费 | 激情开心色 | 国产又黄又爽又猛视频日本 | 免费国产在线观看 | 色综合久久中文综合久久牛 | 中文国产字幕在线观看 | 精品 激情 | 91精品少妇偷拍99 | 摸阴视频 | av丝袜制服 | 欧美-第1页-屁屁影院 | 在线色网站 | 国产亚洲精品久久久久久网站 | 久久久久激情视频 | 国产精品久久久久一区 | 久久久久五月天 | 91大片网站| 色在线网站 | 97人人视频 | 另类五月激情 | 精品一区免费 | 国产亚洲精品久久19p | 在线免费视频你懂的 | 亚洲高清视频在线播放 | 九草视频在线观看 | 天天干天天爽 | 激情五月六月婷婷 | 天天干天天摸 | 久久久久久黄色 | 亚洲精品免费看 | 日本一区二区三区免费观看 | 黄污视频网站大全 | 99tvdz@gmail.com | 91大神电影| 亚洲不卡av一区二区三区 | 激情一区二区三区欧美 | av大全免费在线观看 | 亚av在线 | 在线免费中文字幕 | 操天天操| 丝袜一区在线 | 激情综合五月网 | 国际精品久久久 | 超碰成人免费电影 | 91视频午夜| 亚洲美女视频网 | www在线观看国产 | 亚洲一区二区高潮无套美女 | 成人在线播放视频 | 午夜久久| 97网| 亚洲国产精品成人女人久久 | 国产福利一区二区在线 | av黄色免费在线观看 | 日一日操一操 | 天天天干 | 国产一区二区免费在线观看 | 高清视频一区 | 天天综合天天做天天综合 | 免费黄色网址大全 | 99热最新精品 | 狠狠狠的干| 1024手机基地在线观看 | 国产69精品久久app免费版 | 国产高清视频免费最新在线 | 99久久精品一区二区成人 | 99在线免费视频 | 国产久视频| 日韩国产欧美视频 | 高清在线观看av | 不卡av免费在线观看 | 在线三级中文 | 国产亚州av | 欧美乱淫视频 | 99色免费视频 | 久久久毛片| 久久久久久久久久久久久久av | www.午夜色.com| 五月婷婷六月丁香激情 | 中文字幕91在线 | 国产一二区视频 | 久久精品这里精品 | 激情丁香综合 | 亚洲人成人天堂h久久 | 99久久精品国产一区二区三区 | 国产在线播放一区二区三区 | 久久免费大片 | 国产美女搞久久 | 综合色综合| 又色又爽又黄高潮的免费视频 | 极品久久久久久久 | 色综合天天狠狠 | 国产精品久久久久aaaa | 国产精品久久久久影院 | 草莓视频在线观看免费观看 | 国产成人精品一区在线 | 国产精品成人a免费观看 | 亚洲精品国产精品久久99热 | 九色在线视频 | 免费观看成人av | 天堂在线一区 | 国产在线不卡 | 中文字幕在线看片 | 国产精品美女久久久久久 | 国产日韩中文字幕 | 亚洲人成人在线 | 国产精品久久久久久超碰 | 久久艹精品 | 欧美影片| 亚洲国产精彩中文乱码av | 91一区一区三区 | 在线免费观看亚洲视频 | 97爱 | 97超碰国产精品女人人人爽 | 久久 在线 | 中文字幕在线播放一区 | 四虎www| 国产美女视频 | 久久69精品| 亚洲综合少妇 | 国产精品专区h在线观看 | 亚洲精品视频在线看 | 新版资源中文在线观看 | 亚洲精品成人在线 | 亚洲一级片在线看 | 成人在线视频论坛 | 日本动漫做毛片一区二区 | 色婷婷福利 | 精品欧美在线视频 | 日韩欧美精品在线 | 黄色在线观看网站 | 五月天激情视频 | 久久99久久99精品中文字幕 | 国产免费又爽又刺激在线观看 | 国产午夜一区二区 | 精品国偷自产国产一区 | 免费观看一区 | 天天做日日做天天爽视频免费 | 18女毛片 | 亚洲视频分类 | 少妇bbb | 国产精品美乳一区二区免费 | 久久久精选 | 亚洲成a人片综合在线 | 国产精品无av码在线观看 | 九九视频精品免费 | 婷婷丁香狠狠爱 | av黄色在线观看 | wwxxxx日本 | 色婷婷午夜 | 成人网在线免费视频 | 日本黄色免费在线 | 日韩高清免费观看 | 国产分类视频 | 96亚洲精品久久久蜜桃 | 亚洲精品动漫久久久久 | 国产精品免费观看国产网曝瓜 | 亚洲小视频在线观看 | 久草在线| 久久久久久久国产精品视频 | 成人一级免费电影 | 精品亚洲视频在线 | 青草视频在线看 | 国产精品热 | 精品欧美在线视频 | 欧美一二三视频 | 国产精品mm | 激情影音先锋 | 99久精品视频 | 日韩免费中文 | 精品一区 在线 | 成人国产精品入口 | 婷婷深爱激情 | 久草免费在线观看 | 欧美日韩亚洲在线观看 | 国产又粗又猛又黄又爽的视频 | 天天天在线综合网 | 在线免费色视频 | 国产精品色 | 在线视频一区观看 | 黄网站免费大全入口 | 91精品国产网站 | 色.com| 国产精品岛国久久久久久久久红粉 | 久久公开视频 | 中文字幕高清在线播放 | 免费黄a大片 | 国产剧在线观看片 | 激情欧美日韩一区二区 | 欧美一二区在线 | 天天天色综合 | 欧美日韩亚洲第一 | 久久国产精品99久久人人澡 | 国产亚洲免费观看 | 69久久99精品久久久久婷婷 | av三级在线免费观看 | 超碰午夜 | 久久免费av电影 | 亚洲精品综合欧美二区变态 | 久久久国产成人 | 国产精品粉嫩 | 天天操夜夜看 | 视频在线精品 | 国产韩国日本高清视频 | 综合激情伊人 | 久久国产热 | 国产精品久久久久四虎 | 久久免费精品视频 | 精品国产一区二区三区久久久久久 | 成人羞羞视频在线观看免费 | 日韩黄色中文字幕 | 超碰人人草人人 | 婷婷在线网| 婷婷av在线 | 成人在线免费小视频 | 国产精品久久久久国产精品日日 | 国产欧美在线一区 | 国产xxxxx在线观看 | sesese图片| 在线成人免费 | 日韩在线不卡视频 | 国产精品久久99综合免费观看尤物 | 婷婷深爱五月 | 中文字幕日韩av | 黄色性av | 国产精品日韩欧美一区二区 | 精品国产伦一区二区三区观看方式 | 一级黄色a视频 | 尤物九九久久国产精品的分类 | 在线黄频| 欧美少妇xxxxxx | 久久 在线| 国产乱老熟视频网88av | 97视频在线免费播放 | 在线观看va | 精品亚洲欧美一区 | 亚洲国产欧美在线人成大黄瓜 | 99资源网| 国产一级电影网 | 久久综合久久88 | 国产午夜剧场 | 亚洲精品videossex少妇 | 欧美日韩国产在线一区 | 日韩理论视频 | 一区二区不卡高清 | 91精品一区二区三区久久久久久 | 99久久国产免费免费 | 天天操天天色天天射 | 2019国产精品 | 揉bbb玩bbb少妇bbb | 韩日色视频 | 中文字幕日韩国产 | 日韩久久久久久久久久久久 | 一级欧美日韩 | 久久字幕网 | 五月婷婷中文网 | 黄色aa久久 | 三级免费黄色 | 婷婷丁香久久五月婷婷 | 午夜 在线 | 香蕉视频国产在线观看 | 就色干综合 | 国内精品久久久久影院一蜜桃 | 成人欧美日韩国产 | 精品高清美女精品国产区 | 国产视频1| 久久视频免费在线观看 | 色视频在线免费观看 | 久久曰视频 | 91免费国产在线观看 | 国产精品久久久免费 | 一区二区 精品 | 亚洲在线成人精品 | 81国产精品久久久久久久久久 | 亚洲91网站 | 久久手机看片 | 天海翼一区二区三区免费 | 国产精品免费观看久久 | 国产免费观看视频 | 亚洲一区欧美激情 | 色丁香综合 | 久草免费福利在线观看 | 在线免费观看不卡av | 欧美在线99| 奇米影视在线99精品 | 国产日韩欧美网站 | 毛片精品免费在线观看 | 亚洲色综合 | 免费看av片网站 | 成年人黄色大片在线 | 天天草天天干天天 | 久精品视频免费观看2 | wwwww.国产| 国产成年人av | 色小说在线 | 日韩精品视 | 日韩va欧美va亚洲va久久 | 天天干天天摸 | 五月婷婷,六月丁香 | 国产精品久久久久久久久费观看 | 天天操夜夜叫 | 伊人www22综合色 | 99久久久久久久 | 日本久久成人中文字幕电影 | 国产精品久久在线 | 久久精品理论 | 在线一区观看 | 五月精品 | 四虎天堂 | 久草在线最新免费 | 日韩一区二区三区高清免费看看 | 婷婷色中文网 | 久久久久欧美精品999 | 日韩亚洲在线视频 | 国产精品私人影院 | 久久欧美综合 | 亚洲欧美日韩国产精品一区午夜 | www.国产视频 | 国产尤物在线视频 | 久热色超碰 | 国产成人av网站 | 久久视频国产 | 亚洲免费在线观看视频 | 成人毛片a | 色综合色综合色综合 | 四虎影院在线观看av | 国产一区二区在线看 | 亚洲天天在线 | 婷婷色综合色 | 精品国产人成亚洲区 | 91在线精品观看 | 999久久久 | 少妇超碰在线 | 99在线观看视频网站 | 免费在线激情电影 | 亚洲精品乱码 | 亚洲最大的av网站 | 欧美激情视频在线观看免费 | 亚洲天堂网在线视频 | av大全在线看 | 69av在线视频 | 97热视频| 久久精品专区 | 国产久草在线 | 日韩在线免费电影 | 欧美 日韩 国产 中文字幕 | 超碰国产在线 | www.97视频| 欧美午夜性生活 | 国产91精品一区二区 | 黄色软件在线看 |