如何在android中实现Rate Us

sac*_*hit 8 android

我现在已经申请了,我想在其中实施Rate Us功能.所以我已经在我的应用程序中添加了此代码

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

但是当我点击按钮以获得力量时,我们会强行关闭.这是我的log cat输出.

android.content.ActivityNotFoundException: No Activity found to handle Intent {     
act=android.intent.action.VIEW dat=market://details?id=com.bet.compny }
Run Code Online (Sandbox Code Playgroud)

任何帮助都会受到鼓舞.

Ahm*_*mad 16

Idk为什么你得到错误,但这实际上应该工作.我也是这样做的:

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

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


sha*_*dak 8

在没有Google PlayStore的设备上运行时,会发生此错误。我猜您可能正在没有Playstore的模拟器设备上运行此程序,因此出现了错误。

使用try catch实现如下:

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


Yog*_*dra 6

我一直在使用下面对我们有用的代码:

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

认为它对你有帮助.