我正在开发一个应用程序,要求用户在 Play 商店中对其进行评分。它运作良好。如果用户按下“Rate”按钮,则会进入应用程序的 Play 商店页面。如果你按下后退按钮,我的应用程序会在前面显示评级对话框。我dialog.dismiss()
在启动 Play Store 意图之前或之后使用过,但对话框不会消失,它会停留在那里。
这是我的代码,请帮助我!
private void rateDialog() {
AlertDialog.Builder mDialogBuilder;
mDialogBuilder = new AlertDialog.Builder(MainActivity.this);
mDialogBuilder.setCancelable(true);
mDialogBuilder.setTitle(getString(R.string.title_RateDialog));
if (!appdata.getBoolean(Constants.IS_RATE_IGNORED, false) && (appdata.getInt(Constants.START_COUNT, 1) % 4) == 0) {
mDialogBuilder.setMessage(getString(R.string.text_RateDialogMessage));
mDialogBuilder.setPositiveButton(R.string.text_OK,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
appdataEditor.putBoolean(Constants.IS_RATE_IGNORED, true);
dialog.dismiss();
try{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(Constants.PLAY_STORE_URL)));
} catch (ActivityNotFoundException e){
Toast.makeText(getApplicationContext(), "Could not open market page.", Toast.LENGTH_LONG).show();
}
}
});
mDialogBuilder.setNeutralButton(getString(R.string.text_NotNow),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
mDialogBuilder.setNegativeButton(getString(R.string.text_Never),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int id) {
appdataEditor.putBoolean(Constants.IS_RATE_IGNORED, true);
}
});
AlertDialog rateDialog = mDialogBuilder.create();
rateDialog.show();
}
}
我在onStart()
方法中调用它。