2017-01-31 3 views
0

Я делюсь переводами для своих приложений для iOS и Android через общий PCL, который содержит AppResources.resx файлов. Я обращаюсь к своим ресурсным строкам в коде C#, таком как AppResources.MyString.Share Common AppResource Strings With Android Accessibility Service

Это хорошо работает до сих пор, когда я представил службу доступности в свое приложение для 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 в описание службы доступности?

Мне бы очень хотелось иметь дело с другими конкретными строками андроида в проекте андроида, вместо того чтобы иметь общее место, где мои переводчики могут установить все строки для приложения (AppResources.resx).

ответ

1

Вы не можете получить содержимое AppResources.resx в XML-файле. И, к сожалению, свойство DescriptionAccessibilityServiceInfo доступно только для чтения. Таким образом, вы не можете установить значение по методу SetServiceInfo.

Единственный вариант, о котором я могу думать, это добавить строку описания в файл String.xml.