在開發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"); } |