我想在HttpClient连接中使用手机的默认用户代理,并想知道是否有办法获取用户代理而无需使用WebView进行查询.
对于其他可能正在寻找此问题的人来说,答案非常晚.
我正在寻找一种方法来获取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" );
从API级别17开始,有一个静态方法,WebSettings
其中返回WebView使用的默认User-Agent字符串:
WebSettings.getDefaultUserAgent(context)
由于该方法是静态的,因此您无需运行WebView实例.