【发布时间】:2011-09-20 08:13:39
【问题描述】:
我怎样才能写一个代码来告诉我你的安卓手机上安装了安卓市场?
【问题讨论】:
标签: android google-play
我怎样才能写一个代码来告诉我你的安卓手机上安装了安卓市场?
【问题讨论】:
标签: android google-play
有两种方法。您可以使用已经提到的getPackageManager() 和getApplicationInfo()(如果找不到包,则会抛出PacketManager.NameNotFoundException - 请参阅here)。 Android Market 的包名是com.android.vending。
但是,您也可以创建一个虚拟意图来搜索市场并检查其处理方式。如果结果列表至少有一个条目,则可以确定 Android Market 已安装:
Intent market = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=dummy"));
PackageManager manager = getPackageManager();
List<ResolveInfo> list = manager.queryIntentActivities(mmarket, 0);
【讨论】:
这是我所做的(假设浏览器存在):
Intent market = new Intent(Intent.ACTION_VIEW).setData(Uri
.parse("market://details?id=com.example.app"));
Intent website = new Intent(Intent.ACTION_VIEW).setData(Uri
.parse("http://play.google.com/store/apps/details?id=com.example.app"));
try {
startActivity(market);
} catch (ActivityNotFoundException e) {
startActivity(website);
}
【讨论】: