如何使用php检测Android手机?

Posted

技术标签:

【中文标题】如何使用php检测Android手机?【英文标题】:How to detect Android phone using php? 【发布时间】:2013-10-25 22:11:24 【问题描述】:

如果用户浏览我的网站,我想在他使用 android 手机时显示一条消息。我的网站是http://website.com

我该怎么做?

我试过了,但没有成功:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) 
    // Do something!
    // Redirect to Android-site?
    window.location = 'http://android.davidwalsh.name';

【问题讨论】:

整个互联网?我在“检测 android 手机 php”上进行了谷歌搜索,它得到了足够多的结果。 【参考方案1】:

您也可以使用 PHP 和 javascript 检测 Android 用户代理:

使用 PHP:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false)  // && stripos($ua,'mobile') !== false) 
    echo "your message";


使用 JavaScript:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) 
    // Do something!
    alert('Your message');

【讨论】:

strtolower 将字符串小写,所以不需要做stripos,只需strpos【参考方案2】:

对于 PHP:

$isAndroid = (strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false);

【讨论】:

【参考方案3】:
function isAndroid() 
    if(stripos($_SERVER['HTTP_USER_AGENT'],'android') !== false)  
        return true;
    
    return false;

用法:

if(isAndroid()) 
    echo "an android device";
 else 
    echo "non-android device";

【讨论】:

以上是关于如何使用php检测Android手机?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式检测 android 手机是不是处于静音模式

如何使用点击超链接的方式打开Android手机上的应用

android adb 如何检测手机中某个软件的版本?

让Android手机像Win平板一样~(Android 7.0以上手机)

检测 html5 移动设备中的抖动

如何在 Unity 中检测 android 手机旋转?