2017-01-31 9 views
0

AppResources.resxファイルを持つ共通のPCLを使用して、iOSおよびAndroidアプリケーションの翻訳を共有します。 AppResources.MyStringのようなC#コードで自分のリソース文字列にアクセスします。Androidアクセシビリティサービスで共通AppResource文字列を共有

これまでAndroidアプリにアクセシビリティサービスを導入して以来、これまではうまくいきました。

アクセシビリティサービスでは、説明を提供する必要があります。以下のようなサービスにバインドされている

<?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 
{ 
    ... 
} 

はもちろん、私はaccessibilityservice.xmlファイルからAppResources.MyAccessibilityDescStringにアクセスすることはできません、私はいつも見つけることができる唯一のドキュメントは、この記述は以下のようなaccessibilityservice.xmlファイルに設定されている示していでは、アクセシビリティサービスの説明に翻訳可能なAppResources文字列をどうやって提供しますか?

私は、翻訳者がアプリケーション(AppResources.resx)のすべての文字列を設定できる共通の場所を持つ代わりに、アンドロイドプロジェクト内の他のアンドロイド固有の文字列を管理する必要はありません。

答えて

1

xmlファイルにAppResources.resxのコンテンツを取得することはできません。残念ながらDescriptionのプロパティはAccessibilityServiceInfoです。したがって、SetServiceInfoメソッドで値を設定することはできません。

私が考えることのできる唯一の選択肢は、String.xmlファイルに説明文字列を追加することです。

関連する問題