我通过具有AppResources.resx
个文件的常见PCL分享我的iOS和Android应用程序的翻译。我使用C#代码访问我的资源字符串,如AppResources.MyString
。
直到现在,我已经在我的Android应用程序中引入了辅助功能服务。
使用辅助功能服务,我需要提供说明。我能找到的唯一文档总是显示在accessibilityservice.xml
文件中设置的描述,例如:
<?xml version="1.0" encoding="utf-8" ?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeWindowStateChanged|typeWindowContentChanged"
android:accessibilityFeedbackType="feedbackSpoken"
android:accessibilityFlags="flagDefault"
android:notificationTimeout="100"
android:canRetrieveWindowContent="true"
android:description="@string/accessibility_service_description" />
这与服务绑定如下:
[Service(Permission = "android.permission.BIND_ACCESSIBILITY_SERVICE", Label = "MyApp")]
[IntentFilter(new string[] { "android.accessibilityservice.AccessibilityService" })]
[MetaData("android.accessibilityservice", Resource = "@xml/accessibilityservice")]
public class AutofillService : AccessibilityService
{
...
}
显然我无法从AppResources.MyAccessibilityDescString
文件访问accessibilityservice.xml
,那么如何将可翻译的AppResources
字符串提供给辅助功能服务说明?
我不想在android项目中管理其他特定于Android的字符串,而不是让我的翻译人员可以为应用程序设置所有字符串(AppResources.resx
)。
答案 0 :(得分:1)
您无法获取xml文件中的AppResources.resx
内容。不幸的是,Description
的{{1}}属性是只读的。因此,您无法通过AccessibilityServiceInfo
方法设置值。
我能想到的唯一选择是在SetServiceInfo
文件中添加描述字符串。