2012-02-14 112 views
1

我正在开发一个基本功能的Android应用程序,以允许用户单击按钮并从android市场下载完整的应用程序(类似于虚拟预加载类型的应用程序在手机上预先加载的应用程序,您必须首先实际安装)。如何从Android市场编码Android应用程序更新

在我的活动I类创建一个按钮,并调用setOnClickListener ...

marketButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     String urlToMarket = "market://search?q=<package.name>"; 
     Intent i = new Intent(Intent.ACTION_VIEW); 
     i.setData(Uri.parse(urlToMarket)); 
     startActivity(i); 
    } 
}); 

我得到一个ActivityNotFoundException: No Activity found to handle intent.如何代码这个意图的处理程序?

回答

2

试试这个:

/** 
* Opens Android Market to install an App 
* 
* @param context 
*   A Context to use 
* @param appId 
*   The appId, eg "de.bulling.smstalk" 
*/ 
public static void installFromMarket(Context context, String appId) { 
    try { 
     Intent i = new Intent(Intent.ACTION_VIEW); 
     i.setData(Uri.parse("market://details?id="+appId)); 
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(i); 

    } catch (ActivityNotFoundException e) { 
     Toast.makeText(context, "Could not open Android Market.", Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

感谢您的提示,它确实有效。 – user1209575 2012-02-14 19:16:34

+0

很好听!如果这解决了您的问题,请将问题标记为已解决。 :) – Force 2012-02-14 19:48:13

1

我想你需要的市场应用被安装来处理URI。

+0

感谢您的这个提示..它给了我这个想法,尝试在我的实际手机代码而不是AVD,代码似乎从我的手机上工作...但我有一个鸡蛋问题之前的地方我的应用尚未上市,所以我不确定。 – user1209575 2012-02-14 19:15:45

+0

很高兴知道它已经帮助你。请选择答案..并且在市场中搜索应用程序时,您应该将其主包(应用程序ID)注册到市场。 – Relsell 2012-02-14 19:27:57

相关问题