7

この質問は殴り殺されたことは知っていますが、ここで非常に複雑なことはしたくありません。

当サイトには、7 インチおよび 10 インチのタブレットとのみ互換性のあるコンパニオン アプリがあります。これらのデバイスのユーザーにアプリについてのみ警告する必要があります。問題は、私は解決策に進むことができないということです。私の Galaxy S3 の画面は 1280 x 720 ですが、明らかにタブレットではありません。また、私の人生では、画面の物理的なサイズを取得する方法を見つけることもできません。私が思いついた唯一の解決策は、デバイスが で電話をかけることができるかどうかを検出することMobileCapabilities.CanInitiateVoiceCallです。残念ながら、上司はその解決策に満足していません。

だから... Web アプリ (サーバー側またはクライアント側) で電話とタブレットを区別するにはどうすればよいですか?

更新:これまでのところ、Android の最善のアプローチは Android チームによるブログ投稿からのものの ようです。それは電話ですが、「Android」はタブレットでなければなりません。iOS デバイスも同様に単純である必要があります。「iPhone」と「iPad」のチェックは、これまでのところ機能しているようです。

4

2 に答える 2

1

これは少し遅れていることは知っていますが、同じものを探していました。

Wurflには、あなたが望むものがあります。簡単に実装でき、クエリできる API を使用することもできます。

ASP.NET アプリケーションの場合、最初に 1 回限りの初期化を行う必要があります。

public class Global : HttpApplication
{
   public const String WurflDataFilePath = "~/App_Data/wurfl.zip";
   private void Application_Start(Object sender, EventArgs e)
   {
       var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);
       var configurer = new InMemoryConfigurer().MainFile(wurflDataFile);
       var manager = WURFLManagerBuilder.Build(configurer);
       HttpContext.Current.Cache[WurflManagerCacheKey] = manager;
   }
}  

そして、このように使用します。

var device = WURFLManagerBuilder.Instance.GetDeviceForRequest(userAgent);
var isTablet = device.GetCapability("is_tablet");
var isSmartphone = device.GetCapability("is_smartphone");

詳細については、ASP.NET の実装を確認してください

これがこれを探している他の人に役立つことを願っています。

于 2014-03-10T16:02:48.290 に答える
0

ユーザー エージェントの検出を試みて、キーワードを検索することができます。たとえば、タブレット デバイス以外のすべてのデバイスには、ユーザー エージェントに "Mobile Safari" というキーワードがあります。

于 2013-03-20T11:56:01.130 に答える