我有一个支持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();
另外,每天我使用AlarmManager
和NotificationCompat
类弹出一条提醒,以下是代码:
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());
问题出在: 我的应用程序的通知不会显示用户选择的语言,而是显示设备的语言。我能够使用不同的语言来操作应用程序,但通知总是以设备语言显示。