Android密码管理器应用如何工作?

时间:2015-04-21 13:51:13

标签: android passwords

我在android中遇到过很少的密码管理器应用,比如lastpass。 我也在尝试构建这种应用程序。

这个应用程序如何运作?

他们如何访问EditText&第三方应用的密码字段?

他们如何检测登录屏幕?

此应用使用的是哪个Android系统API?

请给我提示。这件事是如何运作的?

更新

我在网上找到了一个有用的resource。但它没有说明使用哪种API!

1 个答案:

答案 0 :(得分:3)

经过搜索,我得到了解决方案。可以访问EditText&使用accessibility api的第三方应用的PasswordField我们可以设置&获取edittext&的值密码字段使用AccessibilityNodeInfo& AccessibilityNodeInfo.ACTION_SET_TEXT。我用这个api完成了这件事。检测屏幕上正在运行的应用程序。您必须将此行android:packageNames="com.example"放在accessibility.xml文件中。

其中com.example是您要为其触发辅助功能服务的应用程序包名称。

请阅读android.developer网站上与辅助功能服务相关的文档。

示例 accessibility.xml

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:accessibilityEventTypes="typeViewFocused|typeViewClicked"
    android:packageNames="com.example"
    android:accessibilityFeedbackType="feedbackAllMask"
    android:notificationTimeout="100"
    android:canRetrieveWindowContent="true"
    android:canRequestEnhancedWebAccessibility="true"/>