|
本帖最后由 ゞ情非得已Sky 于 2024-8-9 13:49 编辑
<火山程序 类型 = "通常" 版本 = 1 />
类 应用评分 <公开 折叠 @java.导入 = "android.content.Context\nandroid.content.SharedPreferences">
{
# @begin
# // 应用的包名
# // 用于存储评分信息的SharedPreferences的名称
# @ private static final String PREFS_NAME = "rating_prefs";
# // 用于存储是否已评分的键值
# @ private static final String RATING_KEY = "has_rated";
# @ private SharedPreferences sharedPreferences;
# @ private Context context;
# @end
变量 应用包名 <类型 = 文本型>
方法 初始化 <公开 折叠>
参数 欲窗口 <类型 = 安卓窗口>
参数 包名 <类型 = 文本型 注释 = "你的应用包名">
{
应用包名 = 包名
@ this.context = @<欲窗口>;
// 获取SharedPreferences实例
@ sharedPreferences = @<欲窗口>.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
}
方法 是否已经评分 <公开 类型 = 逻辑型 折叠 @禁止流程检查 = 真>
{
// 从SharedPreferences中获取"has_rated"的值,如果不存在则返回false
@ return sharedPreferences.getBoolean(RATING_KEY, false);
}
方法 标记已评分 <折叠>
{
// 获取SharedPreferences的编辑器
@ SharedPreferences.Editor editor = sharedPreferences.edit();
// 将"has_rated"设置为true,表示用户已评分
@ editor.putBoolean(RATING_KEY, true);
// 提交修改
@ editor.apply();
}
方法 获取评分 <类型 = 单精度小数 注释 = " 获取应用在应用市场的评分" 返回值注释 = "返回已评分数" 折叠 折叠2 @禁止流程检查 = 真
@java.导入 = "android.content.pm.PackageManager\nandroid.content.pm.PackageInfo">
{
@ try {
// 获取应用的包信息
@ PackageInfo packageInfo = context.getPackageManager().getPackageInfo(@<应用包名>, 0);
// 获取应用在应用市场的评分信息
@ return packageInfo.versionCode;
@ } catch (PackageManager.NameNotFoundException e) {
// 如果获取应用信息失败,则返回-1
@ return -1;
@ }
}
方法 引导检测评分 <公开 类型 = 逻辑型 注释 = "未评分引导用户前往评分" 折叠 折叠2 @禁止流程检查 = 真
@java.导入 = "android.net.Uri\nandroid.content.Intent">
{
// 检查用户是否已评分
变量 状态 <类型 = 逻辑型>
如果真 (删除首尾空白 (应用包名) == "")
{
返回 (假)
}
状态 = 是否已经评分 ()
@ if (!@<状态>) {
// 获取应用在应用市场的评分
变量 评分 <类型 = 单精度小数>
评分 = 获取评分 ()
@ float rating = @<评分>;
// 如果评分信息存在,则引导用户进行评分
@ if (rating >= 0) {
// 构建跳转到应用市场的 URI
@ Uri uri = Uri.parse("market://details?id=" + @<应用包名>);
// 启动 URI 跳转,引导用户进行评分
@ context.startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Rate our app"));
// 设置用户已评分的标记
标记已评分 ()
@ return true;
@ }
@ }
// 如果用户已评分或获取评分信息失败,则返回false
@ return false;
}
#
}
|
|