如何从Android Market编写Android应用程序更新

时间:2012-02-14 17:13:50

标签: android

我正在开发一个带有一个基本功能的Android应用程序,允许用户点击一个按钮并从Android市场下载完整的应用程序(一个类似于预装在手机上的应用程序的虚拟预装类型应用程序,您必须先实际安装才能使用)。

在我的Activity类中,我创建一个Button并调用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 个答案:

答案 0 :(得分: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();
    }
}

答案 1 :(得分:1)

我认为您需要安装市场应用来处理uri。