Ich teile Übersetzungen für meine iOS und Android-Apps über eine gemeinsame PCL, die AppResources.resx
Dateien hat. Ich greife auf meine Ressourcen-Zeichenfolgen in C# -Code wie AppResources.MyString
.Teilen Gemeinsame AppResource Strings mit Android Accessibility Service
Das hat gut funktioniert, bis jetzt, als ich einen Zugänglichkeitsdienst in meine Android-App eingeführt habe.
Mit dem Zugänglichkeitsdienst muss ich eine Beschreibung bereitstellen. Die einzige Dokumentation ich finden kann, zeigt immer diese Beschreibung in der accessibilityservice.xml
-Datei festgelegt werden, wie:
<?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" />
, die an den Dienst wie gebunden ist:
[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
{
...
}
Natürlich kann ich nicht AppResources.MyAccessibilityDescString
Zugriff aus der accessibilityservice.xml
Datei , also wie stelle ich meine übersetzbare AppResources
Zeichenfolge zur Accessibility Service Beschreibung zur Verfügung?
Ich würde es hassen, andere androidspezifische Zeichenfolgen im android-Projekt verwalten zu müssen, anstatt einen gemeinsamen Platz zu haben, können meine Übersetzer alle Zeichenfolgen für die App einstellen (AppResources.resx
).