>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 30325 个阅读者 刷新本主题
 * 贴子主题:  Android 判断当前设备是手机还是平板 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2025-06-07 08:15:31     消息  查看  搜索  好友  邮件  复制  引用


Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板。
网上很多说通过设备尺寸、DPI、版本号、是否具备电话功能等进行判断,不过都不算太精确。
这里分享一个简洁给力的方法(官方用法):
/**
* 判断当前设备是手机还是平板,代码来自 Google I/O App for Android
* @param context
* @return 平板返回 True,手机返回 False
*/

public static boolean isPad(Context context) {
    return (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

令附上是否具备电话功能判断方法(现在部分平板也可以打电话):


public static boolean isPad(Activity activity) {
    TelephonyManager telephony = (TelephonyManager)activity.getSystemService(Context.TELEPHONY_SERVICE);
    if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
        return true;
    }else {
        return false;
    }
}

程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->类的生命周期
  JavaWeb开发-->JavaWeb应用入门(Ⅱ)
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->非阻塞通信
  精通Spring-->创建综合购物网站应用
  Vue3开发-->Vue简介
  【JavaFX学习】开发环境配置
  Android网络编程之WebKit应用
  Android中Activity之间的通信
  Android 如何监听自身应用被卸载
  通过Https访问的Not trusted Server Certificate的问题的解决...
  Android Broadcast receiver 编程
  Android网络开发-请求队列-性能提升解决方案
  Android自动化测试之Robotium学习
  Android中的几个布局
  Android的init过程详解
  Android中的Intent Filter与安全
  Android性能优化-过度渲染
  Bitmap压缩原理解析与Android 7.0之前通过NDK使用libjpeg库高...
  Android ListView与SQLite综合使用(水果商品展示案例)
  RecyclerView顶部阴影透明度渐变效果
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。