如何使用PHP检测Android手机?

8
如果用户浏览我的网站,我想在他使用安卓手机时显示一条消息。我的网站是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';
}

2
整个互联网?我在Google上搜索“检测Android手机PHP”并获得了足够的结果。 - Patrick Manser
3个回答

31

你可以使用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');
}

1
strtolower函数将字符串转换为小写,因此无需进行stripos操作,只需进行strpos操作即可。 - J.C

2

对于PHP:

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

该代码用于检测当前用户的浏览器是否为安卓系统。

0
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";
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接