简单的问题......很可能不是简单的答案:)
我想在monodroid中为android编写一个辅助功能服务。我发现很难弄清楚这些碎片。我可以从AccessibilityService
继承,但是没有AccessibilityServiceAttribute。我需要清单文件中的特定内容,但显然monodroid并不直接支持intent filter和service xml ...我相信。
我怀疑这是许多人所做的事情,但作为Monodroid的初学者,我认为我主要是发现难以将支持良好的“正常”应用程序开发放在一起,而“支持”但不是非常,可访问性服务开发。
我很感激任何指针。谢谢你们。
答案 0 :(得分:1)
根据docs:
可访问性被声明为AndroidManifest.xml中的任何其他服务,但它还必须指定它处理“android.accessibilityservice.AccessibilityService”意图。未能声明此意图将导致系统忽略辅助功能服务。
由于它的声明方式与任何其他服务相同,因此您可以使用ServiceAttribute和IntentFilterAttribute在AndroidManifest.xml中生成条目。例如:
[Service]
[IntentFilter(new[] { "android.accessibilityservice.AccessibilityService" })]
public class MyAccessibilityService : AccessibilityService
{
public override void OnAccessibilityEvent(AccessibilityEvent e)
{
}
public override void OnInterrupt()
{
}
}
构建应用程序时,Mono for Android将在清单中生成此内容:
<service android:name="sample.MyAccessibilityService">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>