Има ли начин да получите низа на потребителския агент по подразбиране освен от WebView.getSettings().getUserAgentString()?

Искам да използвам потребителския агент по подразбиране за телефона във връзка с HttpClient и бих искал да знам дали има начин да получа потребителския агент, без да се налага да имам WebView за запитване.


person cottonBallPaws    schedule 05.11.2010    source източник
comment
възможен дубликат на Програмно извличане на потребителски агент   -  person Idolon    schedule 20.07.2012
comment
21 към 0, може би трябва да преоцените приетия отговор?   -  person theblang    schedule 14.03.2014
comment
@mattblang смени, благодаря за вниманието   -  person cottonBallPaws    schedule 14.03.2014


Отговори (3)


Много късен отговор за други, които може да търсят това.

Търсих начин да получа низа на потребителския агент, използван от HttpUrlConnection, за да го използвам с HttpClient и да го променя със собствената си информация за версията. По този начин моето приложение за Android предоставя полезна информация за версията, която мога да извлека от регистрационните файлове на сървъра (версия на Android, име/тип на устройството и версията на моето приложение).

Например низът на потребителския агент за моя телефон, когато използвам HttpUrlConnection, изглежда така:

Dalvik/1.4.0 (Linux; U; Android 2.3.5; HTC Desire HD A9191 Build/GRJ90)

Този низ може да бъде получен от системните свойства по следния начин:

String userAgent = System.getProperty( "http.agent" );
person Stefan Frye    schedule 20.04.2012
comment
Едно предупреждение, но също и това, което е хубаво за тази версия, е, че това не е потребителският агент на уеб браузъра. - person lilbyrdie; 14.09.2013

Започвайки от API ниво 17, има статичен метод в WebSettings, който връща низа на User-Agent по подразбиране, използван от WebView:

WebSettings.getDefaultUserAgent(context)

Тъй като методът е статичен, не се нуждаете от екземпляр на WebView, за да го стартирате.

person Idolon    schedule 05.04.2017

Не, това е единственият официален начин за получаване на низ от потребителски агент.

Btw, върнатият низ е нещо като това:

Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone

Http сървърите използват низ на потребителски агент, за да обслужват специфични за браузъра версии на документи. Това би имало смисъл само ако искате мобилна версия на дадена страница и/или ако искате да я покажете по-късно в браузъра на Android.

person Peter Knego    schedule 05.11.2010