点击所有三个按钮时,会调用速率应用程序选项,如何仅针对android studio中的指定按钮调用它?

ddrv8njm  于 2023-01-31  发布在  Android
关注(0)|答案(1)|浏览(100)

我的应用程序中有三个选项,用户可以对我的应用程序进行评级、共享应用程序或访问隐私政策页面。但是,当我将评级应用程序部分代码添加到我的应用程序时,单击所有三个按钮时会打开相同的窗口。如何解决此问题,以便我的应用程序仅对评级应用程序按钮打开评级,而不是对所有三个按钮打开评级?
这是我使用android studio开发的应用程序中所有三个选项的当前代码,位于我的www.example.com类中。MainActivity.java class.

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nav_policy:
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com"));
            startActivity(intent);
            break;
    }
    switch (item.getItemId()) {
        case R.id.nav_share:
            Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");
            intent.putExtra(Intent.EXTRA_SUBJECT, "Sharing URL");
            intent.putExtra(Intent.EXTRA_TEXT,"http://play.google.com/store/apps/details?id=com.mydomain.tapp");
            startActivity(intent);
            break;
    }
    try {
        startActivity(new Intent(Intent.ACTION_VIEW,
                Uri.parse("market://details?id=" + this.getPackageName())));
    } catch (android.content.ActivityNotFoundException e) {
        startActivity(new Intent(Intent.ACTION_VIEW,
                Uri.parse("http://play.google.com/store/apps/details?id=" + this.getPackageName())));
    }
    drawerLayout.closeDrawer(GravityCompat.START);
    return true;

}

这是我添加的部分,它应该通过将用户发送到我的应用程序的"费率应用程序"部分来执行对我的应用程序进行费率的功能。

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

也是我的导航菜单的xml代码
一个二个一个一个
如何解决此问题?

iq0todco

iq0todco1#

你能改变你的onNavigationItemSelected函数的代码吗

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.nav_policy:
            Intent policyIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com"));
            startActivity(policyIntent);
            break;
        case R.id.nav_share:
            Intent shareIntent = new Intent(Intent.ACTION_SEND);shareIntent.setType("text/plain");
            shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Sharing URL");
            shareIntent.putExtra(Intent.EXTRA_TEXT,"http://play.google.com/store/apps/details?id=com.mydomain.tapp");
            startActivity(shareIntent);
            break;
        case R.id.nav_thumb:
            try {
                startActivity(new Intent(Intent.ACTION_VIEW,
                Uri.parse("market://details?id=" + this.getPackageName())));
            } catch (android.content.ActivityNotFoundException e) {
                startActivity(new Intent(Intent.ACTION_VIEW,
                Uri.parse("http://play.google.com/store/apps/details?id=" + this.getPackageName())));
            }
            break;
    }
    
    drawerLayout.closeDrawer(GravityCompat.START);
    return true;

}

相关问题