我创建了在平板电脑和手机上非常好用的应用程序。对于检测(界面设置)即时使用的宽度和高度.. if width > 1280
- 它必须是平板电脑..但是..我的朋友测试这个应用程序上三星银河注..这是一个小电话(不是平板),但屏幕分辨率= 1280×800。现在我遇到了显示问题..可以告诉我 - 有没有办法检测:平板电脑或手机?如何知道:它是手机还是平板电脑?
请告诉我,如果有人知道..
问候彼得。
对不起,因为我的英语不好..我想要更好。
我创建了在平板电脑和手机上非常好用的应用程序。对于检测(界面设置)即时使用的宽度和高度.. if width > 1280
- 它必须是平板电脑..但是..我的朋友测试这个应用程序上三星银河注..这是一个小电话(不是平板),但屏幕分辨率= 1280×800。现在我遇到了显示问题..可以告诉我 - 有没有办法检测:平板电脑或手机?如何知道:它是手机还是平板电脑?
请告诉我,如果有人知道..
问候彼得。
对不起,因为我的英语不好..我想要更好。
以像素为单位的宽度(或高度)不决定屏幕尺寸。屏幕尺寸取决于分辨率(像素)和密度。 Android提供了各种概念来支持不同的屏幕尺寸。详情请参阅此处:http://developer.android.com/guide/practices/screens_support.html
非常好的链接。我会特别补充一点,你可能会发现最常用的布局大,布局正常等。 – Knossos 2012-02-28 08:51:03
您可以使用类似Device Atlas的内容来检测用户代理的这些功能。提供您可以托管自己的API,并且还提供云服务。两者都是溢价(付费)
或者,您可以使用类似Wurfl,根据我的经验,这是不准确的。
要让手机成为手机,必须能够拨打电话。你为什么不检查TelephonyManager有一个叫做getPhoneType()的方法。如果它返回PHONE_TYPE_NONE,那么它不是电话。
好主意,但平板电脑可以调用:( – Peter 2012-02-28 09:24:35
你可以试试这个代码,在Chrome中发现电话分机例如:
static boolean isTablet (Context context) {
// TODO: This hacky stuff goes away when we allow users to target devices
int xlargeBit = 4; // Configuration.SCREENLAYOUT_SIZE_XLARGE; // upgrade to HC SDK to get this
Configuration config = context.getResources().getConfiguration();
return (config.screenLayout & xlargeBit) == xlargeBit;
}
我不这么认为其可能的......由于Android OS开发者认为,您的应用程序willadapt本身,无论它是设备..也许这就是为什么他们有不同的可绘制文件夹的低,中,高分辨率... – ngesh 2012-02-28 08:49:08
@Kheldar http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Samsung_Galaxy_Note_Screenshot.png/800px -Samsung_Galaxy_Note_Screenshot.png看到这个图像..姆布里克不正确的了解你 – Peter 2012-02-28 08:53:24