3

韓国など、一部の Android デバイスには Android マーケットがありません。

実行時に Android マーケットの存在を検出することはできますか?

最初にマーケット URI を開いて、例外がスローされるかどうかを確認できることはわかっています。しかし、これは賢明な方法だとは思いません。

4

2 に答える 2

4

最初にマーケット URI を開いて、例外がスローされるかどうかを確認できることはわかっています。

ACTION_VIEW IntentMarketの を作成し、と をUri使用PackageManagerqueryIntentActivities()て、何かが返されるかどうかを確認します。Uri空のリストが返された場合、デバイス上で Market値を処理するものは何もありません。

于 2010-07-27T06:57:06.350 に答える
1

パッケージ名を単独で読み取る完全なソリューション...

Context context = this;
final PackageManager packageManager = context.getPackageManager();

String packagename = this.getPackageName();

String url = "market://details?id=" + packagename;

Intent i2 = new Intent(Intent.ACTION_VIEW);
i2.setData(Uri.parse(url));

List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(i2,PackageManager.MATCH_DEFAULT_ONLY);

if (resolveInfo.size() > 0) startActivity(i2);
于 2011-01-06T22:08:55.987 に答える