如何使通知语言与手机语言相同

时间:2016-05-21 17:24:11

标签: visual-studio xamarin.android

我需要使这个代码语言与设备相同。

Notification.Builder builder = new Notification.Builder(this);
builder.SetContentTitle("ok");
builder.SetContentText("ok");
Notification nottt = builder.Build();
NotificationManager noeman = GetSystemService(Context.NotificationService) as NotificationManager;
noeman.Notify (122, nottt);
StopSelfResult(this, OnStartCommand);

2 个答案:

答案 0 :(得分:0)

这是因为您对通知中显示的文字进行了硬编码。

Android在strings.xml中有一个名为/res/values/strings.xml的资源文件。

假设您的应用程序的默认语言是英语。假设您要将应用程序中的所有文本本地化为葡萄牙语。 在这种情况下,您可以创建两个备用的strings.xml文件,每个文件都存储在特定于语言环境的资源目录中:

目录:

res/values/strings.xml

档案:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string
            name="string_name">nome</string>
    </resources>

包含应用程序使用的所有字符串的英语(在本例中为默认值)文本。

目录:

res/values-pt/strings.xml

档案:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string
        name="string_name">nome</string>
</resources>

包含所有字符串的葡萄牙语文本。

创建字符串文件后,您应该使用以下资源构建通知:

NotificationCompat.Builder mBuilder =
    new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle(getString(R.string.string_name))
        .setContentText(getString(R.string.other_string));

有关详情,请点击here

答案 1 :(得分:0)

我认为您应该在字符串“ok”上通过“alt+enter”使用(字符串资源)并选择(提取字符串资源), 然后使用 (getApplicationContext())

onDestroyView