如何在android中实现Rate Us

时间:2012-10-21 13:31:00

标签: android

我现在申请了一个应用程序,我想在其中实现Rate Us功能。所以我已经在我的应用程序中添加了这段代码

i = new Intent(Intent.ACTION_VIEW , Uri.parse("market://details?id=com.bet.compny"));
startActivity(i);
break;

但是当我点击按钮时,我们会强行关闭。这是我的log cat输出。

android.content.ActivityNotFoundException: No Activity found to handle Intent {     
act=android.intent.action.VIEW dat=market://details?id=com.bet.compny }

任何帮助都会受到欢迎。

9 个答案:

答案 0 :(得分:14)

Idk为什么你会得到错误,但这实际上应该有效。我也这样做:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));

但请记住,如果您在没有Play商店的模拟器/设备上进行测试,这会崩溃。所以我建议你把它包起来试试并抓住

答案 1 :(得分:5)

我总是使用下面对我们有用的代码:

Intent rateIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())); 
startActivity(rateIntent);

认为它会对你有所帮助。

答案 2 :(得分:2)

这是最好的方法;

  

Appirater是基于原始Appirater By的Android库   Arash Payan Appirater iPhone。目标是创造一个干净的设计   应用评级提示您可以放入任何Android应用程序   帮助提醒您的用户在Android Market上查看您的应用。

https://github.com/sbstrm/appirater-android

答案 3 :(得分:2)

使用try catch实施如下:

try{
        startActivity(new Intent("android.intent.action.VIEW", Uri.parse("market://details?id="+getPackageName())));
    }
    catch (ActivityNotFoundException e){
        startActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://play.google.com/store/apps/details?id="+getPackageName())));
    }

答案 4 :(得分:1)

最好且简单的代码

private final String mStoreLink;

没有活动需要上下文/活动

 this.mStoreLink = "market://details?id=" + activity.getPackageName();

创建一个这样的方法。

public void rateUsOnGooglePlay() {
        final Uri marketUri = Uri.parse(mStoreLink);
        try {
            activity.startActivity(new Intent(Intent.ACTION_VIEW, marketUri));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(activity, "Couldn't find PlayStore on this device", Toast.LENGTH_SHORT).show();
        }
    }

答案 5 :(得分:0)

这通常发生在没有Google Play商店的设备上

答案 6 :(得分:0)

我认为你已经在模拟器中测试了这段代码,并且模拟器没有plastore应用程序,所以出现了这个错误。

我实现了这个,我的代码是这样的。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=applicationID of play sotre")));

请在下面的代码中输入try catch。

并在Android设备中尝试此代码。

答案 7 :(得分:0)

Uri marketUri = Uri.parse("market://details?id=" + packageName);
Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
startActivity(marketIntent);

答案 8 :(得分:0)

try {
    Uri marketUri = Uri.parse("market://details?id=" + getPackageName());
    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
    startActivity(marketIntent);
}catch(ActivityNotFoundException e) {
    Uri marketUri = Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName());
    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
    startActivity(marketIntent);
}