参见英文答案 > Tablet or Phone – Android 29个
我想要检测给定的设备是否是AndroID中的平板电脑或手机.我已经在模拟器中尝试了这两个但没有工作.两者都在这里:
第一
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) { //code}
第二
private boolean istabletDevice() { if (androID.os.Build.VERSION.SDK_INT >= 11) { // honeycomb // test screen size, use reflection because isLayoutSizeAtLeast is only available since 11 Configuration con = getResources().getConfiguration(); try { Method mIsLayoutSizeAtLeast = con.getClass().getmethod("isLayoutSizeAtLeast"); Boolean r = (Boolean) mIsLayoutSizeAtLeast.invoke(con, 0x00000004); // Configuration.SCREENLAYOUT_SIZE_XLARGE return r; } catch (Exception x) { return false; } } return false; }
解决方法:
试试这个代码.您可以获得屏幕英寸
String inputSystem; inputSystem = androID.os.Build.ID; Log.d("hai",inputSystem); display display = getwindowManager().getDefaultdisplay(); int wIDth = display.getWIDth(); // deprecated int height = display.getHeight(); // deprecated Log.d("hai",wIDth+""); Log.d("hai",height+""); displayMetrics dm = new displayMetrics(); getwindowManager().getDefaultdisplay().getMetrics(dm); double x = Math.pow(wIDth/dm.xdpi,2); double y = Math.pow(height/dm.ydpi,2); double screenInches = Math.sqrt(x+y); Log.d("hai","Screen inches : " + screenInches+"");
总结 以上是内存溢出为你收集整理的如何以编程方式知道它是平板电脑还是手机?全部内容,希望文章能够帮你解决如何以编程方式知道它是平板电脑还是手机?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)