我正在开发一个带有一个基本功能的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.
如何为此意图编写处理程序?
答案 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。