gpt4 book ai didi

Android 应用程序区域设置以编程方式更改,但 NotificationCompat 以设备语言显示消息

转载 作者:搜寻专家 更新时间:2023-11-01 08:48:34 24 4
gpt4 key购买 nike

我有一个支持 4 种语言的应用程序。我允许用户从这种语言中进行选择,并使用以下代码更改语言:

    Locale locale_en = new Locale(locale);
Locale.setDefault(locale_en);
Configuration config_en = new Configuration();
config_en.locale = locale_en;
getBaseContext().getResources()
.updateConfiguration(config_en, getBaseContext()
.getResources().getDisplayMetrics());

recreate();

另外,每天我都会用 NotificationCompat 类弹出一个提醒(使用 AlarmManager),代码如下:

    Intent i = new Intent(context, NavigationActivity.class);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);

NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher_v2)
.setContentTitle(context.getString(R.string.notification_title))
.setContentText(context.getString(R.string.notification_text))
.setContentIntent(resultPendingIntent)
.setAutoCancel(true);

int mNotificationId = 001;
NotificationManager mNotifyMgr =
(NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);

mNotifyMgr.notify(mNotificationId, mBuilder.build());

问题是:通知不是以用户从我的应用选择的语言显示,而是以设备的语言显示。我可以使用不同语言的应用程序,但通知始终以设备语言显示。

最佳答案

Also, each day I pop up a reminder (using the AlarmManager) with the NotificationCompat class with this code:

你的进程早就终止了,所以这段代码在一个新的进程中运行。您需要在此处以及当用户在您的 UI 中选择一种语言时应用相同的更新Locale 逻辑。

关于Android 应用程序区域设置以编程方式更改,但 NotificationCompat 以设备语言显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com