从Android SDK访问字符串资源

最近我发现, android.R.string包含几个有用的本地化字符串,如“OK”,“是”,“否”,他们可以通过在getResources().getString(android.R.string.yes)

但Android SDK包含更多本地化的字符串。 它们位于$ANDROID_HOME/platforms/android-25/data/res/values-$LANG/string.xml

例如,我想使用下面的字符串

  <string name="gpsNotifTicker">Location request from <xliff:g id="name">%s</xliff:g></string> 

有没有办法做到这一点,除了从每个文件复制和粘贴字符串?

android:text="@android:string/gpsNotifTicker" in xml给我“资源不公开”的错误

在Java中的getString(android.R.string.gpsNotifTicker, name)给我“未解决的参考”

另外,我试着在build.gradle中添加sdk资源到源代码集

 android { //..... sourceSets { main.java.srcDirs += 'src/main/kotlin' main.resources.srcDirs += '/Users/rostopira/Library/Android/sdk/platforms/android-25/data/res' } } 

但字符串仍然无法访问

您可以使用@android说明符引用系统资源:

 android:text="@android:string/SOME_RESOURCE"