我怎么能写一个可以告诉我Android手机上安装了android市场的代码?
答案 0 :(得分:8)
有两种方法。您可以使用已提及的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);
答案 1 :(得分:1)
这是我做的(假定浏览器存在):
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);
}