Вот искала, искала и так и не нашла ответа на свой вопрос.
Большинство предлагают получать текст благодаря getText, но private final static не хочет дружить с getResources.
Если вы меня еще не поняли, то я хочу заменить значение AppName на значение, которое будет отображаться со Strings.xml:
private final static String APP_TITLE = "App name";
Вот и полный код:
package com.example.ps4;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
public class AppRater {
private final static String APP_TITLE = "App name";
private final static String APP_PACKAGE_NAME = "com.dropbox.android";
private final static int DAYS_UNTIL_PROMPT = 0;
private final static int LAUNCH_UNTIL_PROMPT = 5;
public static void app_launched(Context context) {
SharedPreferences prefs = context.getSharedPreferences("rate_app", 0);
if(prefs.getBoolean("dontshowagain", false)){
return;
}
SharedPreferences.Editor editor = prefs.edit();
long launch_count = prefs.getLong("launch_count", 0) + 1;
editor.putLong("launch_count", launch_count);
Long date_firstLaunch = prefs.getLong("date_first_launch", 0);
if(date_firstLaunch == 0) {
date_firstLaunch = System.currentTimeMillis();
editor.putLong("date_first_launch", date_firstLaunch);
}
if(launch_count >= LAUNCH_UNTIL_PROMPT) {
if(System.currentTimeMillis() >= date_firstLaunch + (DAYS_UNTIL_PROMPT * 24 * 60 * 60 * 1000)){
showRateDialog(context, editor);
}
}
editor.commit();
}
public static void showRateDialog(final Context context, final SharedPreferences.Editor editor) {
Dialog dialog = new Dialog(context);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
String message = "If you enjoy using "
+ APP_TITLE
+ ", please take a moment to rate the app. "
+ "Thank you for your support!";
builder.setMessage(message)
.setTitle("Rate " + APP_TITLE)
.setIcon(context.getApplicationInfo().icon)
.setCancelable(false)
.setPositiveButton("Rate Now", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
editor.putBoolean("dontshowagain", true);
editor.commit();
try {
context.startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + APP_PACKAGE_NAME)));
}catch(ActivityNotFoundException e) {
}
dialog.dismiss();
}
})
.setNeutralButton("Later", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setNegativeButton("No, Thanks", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(editor != null) {
editor.putBoolean("dontshowagain", true);
editor.commit();
}
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
}
activity_main, конечно же, не отправляю, он попросту пустой.
Заранее благодарю за любую оказанную помощь!