在我的 Android 应用中,我想在某个时间点提示用户对 Android 市场中的应用进行评分。
搜索方法后,我找到了一些代码 on this website .这段代码似乎运行良好。
但不幸的是,当用户的手机上未安装 Android 市场时,此代码似乎会引发“强制关闭”错误消息。有什么方法可以检查是否安装了Android Market,如果没有,不要尝试执行代码?
引发错误的行可能是这一行,因为它无法解析 URI:
mContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));
顺便说一句,该代码还有其他可以改进的地方吗?
编辑:
几年后,我将所有代码放入了一个小型库项目:AppRater on GitHub
最佳答案
这是您需要的所有代码(库尔特的回答和推断信息的集合,加上链接和问题):
/* This code assumes you are inside an activity */
final Uri uri = Uri.parse("market://details?id=" + getApplicationContext().getPackageName());
final Intent rateAppIntent = new Intent(Intent.ACTION_VIEW, uri);
if (getPackageManager().queryIntentActivities(rateAppIntent, 0).size() > 0)
{
startActivity(rateAppIntent);
}
else
{
/* handle your error case: the device has no way to handle market urls */
}
关于android - 提示用户对应用内的 Android 应用进行评分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8031276/