0

私は検索しましたが、これを見つけることができません.

アプリは、「Google Android」デバイスで実行されているか、AOSP デバイス (Kindle Fire など) で実行されているかをどのように推測しますか?

4

3 に答える 3

1

AccountManagerクラスgetAccountsByType()を使用してデバイス上の既存のアカウントを列挙し、com.google目的のアカウント タイプとして渡すことができます。このタイプのアカウントがない場合は、それが AOSP デバイスであるか、ユーザーがまだ Google アカウントを作成していないことを意味します。

それだけでは不十分な場合は、クラスを使用して、 getPackageInfo()メソッドPackageManagerを使用して Google 固有のパッケージを照会できます。例- Google Play アプリ。com.android.vending

ただし、これらの方法のいずれも、ターゲット デバイスが AOSP を実行していることを保証できないことに注意してください。

于 2012-09-07T10:47:15.230 に答える
0

これは些細なことではありませんが、ほとんどのアプリは気にする必要さえありません。その場合、通常は独自の機能が必要であることを意味するため、デバイスのラベルではなく、特定の機能が存在するかどうかを確認する方が簡単です。特定のパッケージ (Google Play など) の存在を確認することもできますが、それがないからといって自動的に Fire であるとは限りません。

于 2012-09-07T10:34:31.620 に答える
0

Intent を使用して、マーケット URL を開くことができるかどうかを確認できます。

インテントのエクストラに関するドキュメントはこちらです。

インテントは次のようになります。

try {
  Intent intent = new Intent(Intent.ACTION_VIEW);
  intent.setData(Uri.parse("market://details?id=com.example.android"));
  //you can use any package identifier for the check.
  startActivity(intent);
} catch (ActvitiyNotFoundException anfe) {
  //There's no market installed.
  //So you can guess that you're not on a device with Google experience
}

この方法の欠点は、利用可能な場合、ユーザーが Play ストアに移動することです。

于 2012-09-07T10:34:36.640 に答える