[flash lite]判別手機

LINEで送る
[`evernote` not found]

在開發flash lite的時候
對於不同廠牌的手機辦別非常重要
我相信這也是很多人心中的痛!!
或者只有在這時候我才真的會承認docomo是日本手機的大龍頭==

不過好在也有很多先賢痛過後提供了很不錯的解決方案:

// 最大電波強度を取得
var sigStrengthMax:String;
var carrier:String;
var mark_p:String;
sigStrengthMax = fscommand2("GetMaxSignalLevel");
// 端末名を取得
fscommand2("GetDevice", "devicename");
// 最大電波強度が3であればDoCoMo
if (sigStrengthMax == 3) {
    carrier = "docomo";
    // 最大電波強度が4で
} else if (sigStrengthMax == 4) {
    // 端末名の先頭が「KDDI-」であればau
    if (substring(devicename, 0, 5) eq "KDDI-") {
        carrier = "au";
        // でなければSoftbank
    } else {
        carrier = "softbank";
    }
    // 最大電波強度が100であればSoftbank
} else if (sigStrengthMax == 100) {
    carrier = "softbank";
    // それ以外は不明(PC等)
} else {
    carrier = "unknown";
}

如果要利用php讀取資料庫的話
在echo前要加上:

 $agent = $_SERVER['HTTP_USER_AGENT'];
    mb_internal_encoding("UTF8");
    if(ereg("J-PHONE|Vodafone|SoftBank",$agent)){
    $agent = "Softbank";
    }else if(ereg("DoCoMo",$agent)){
    $agent = "Docomo";
    }else{
    $agent = "AU";
    }
 
   if($agent == "Softbank"){
   header("Content-type:text/plain; charset=utf-8");
   }else{
   header("Content-type:text/plain; charset=Shift_JIS");
   }