除了WebView.getSettings()之外,有没有办法获取默认的用户代理字符串.getUserAgentString()?

cot*_*aws 23 user-agent android httpclient

我想在HttpClient连接中使用手机的默认用户代理,并想知道是否有办法获取用户代理而无需使用WebView进行查询.

Ste*_*rye 47

对于其他可能正在寻找此问题的人来说,答案非常晚.

我正在寻找一种方法来获取HttpUrlConnection使用的用户代理字符串,将其与HttpClient一起使用并使用我自己的版本信息进行修改.这样,我的Android应用程序提供了一些有用的版本信息,我可以从服务器的日志文件中提取(Android版本,设备名称/类型和我的应用程序的版本).

例如,使用HttpUrlConnection时我的手机的用户代理字符串如下所示:

Dalvik/1.4.0 (Linux; U; Android 2.3.5; HTC Desire HD A9191 Build/GRJ90)
Run Code Online (Sandbox Code Playgroud)

这个字符串可以从系统属性中获取,如下所示:

String userAgent = System.getProperty( "http.agent" );
Run Code Online (Sandbox Code Playgroud)

  • 一个警告,但也有关于这个版本的好处,是它不是Web浏览器用户代理. (2认同)

Ido*_*lon 7

从API级别17开始,有一个静态方法,WebSettings其中返回WebView使用的默认User-Agent字符串:

WebSettings.getDefaultUserAgent(context)

由于该方法是静态的,因此您无需运行WebView实例.