我正在尝试编写一个如下所述的应用程序.

我已经进行了一些搜索,发现了一些关于stackoverflow和其他互联网资源的文章,上面写着" 没有办法在非根电话上开发新的自定义解锁机制. "或" 如果可能,我会感到惊讶,因为那时你可能会窃取密码,我认为没有人会想要这样. "
此外,我还观看了一些视频教程,如教程:Android内部 - 构建自定义ROM,Pt.1 of 2和教程:Android内部 - 构建自定义ROM,Pt.2的2.
EDITED
我今天做了一些搜索,发现了一个非常有趣的事情,我认为我正在寻找解决方案,我希望与你分享我的想法.所以在android源代码中我找到了一个有趣的文件ChooseLockPassword.java(packages\apps\Settings\src\com\android\settings)和LockPatternUtils.java(*frameworks\base\core\java\com\android\internal\widget*)现在我感兴趣的是:
如何LockPatternUtils从我的代码中调用类函数?或者为什么我无法在Eclipse中看到该功能?
所以我认为访问Android 系统PIN对话框的唯一方法是root手机对系统文件进行一些更改并使用系统PIN dialod
任何方案?
好的,我已经解决了这个问题,现在我想和你分享我的解决方案.
起初,因为我告诉我有Android源,所以我已经在android源代码中进行了一些更改,以访问PIN和模式对话框.他们在这里:
在〜\ AndroidSources\pakages\apps\Settings\AndroidManifest.xml中我更改了以下代码行
<activity android:name="ConfirmLockPattern"
android:exported="true"> // This line was added by me.
</activity>
<activity android:name="ConfirmLockPassword"
android:exported="true" // This line was added by me.
android:them="@android:style/Them.NoTitleBar">
</activity>
<activity android:name="ChooseLockPattern"
android:exported="true" // This line was added by me.
android:label="@string/lockpattern_change_lock_pattern_label">
</activity>
Run Code Online (Sandbox Code Playgroud)
这些修改允许我从我自己的应用程序中调用" ConfirmLockPattern "," ConfirmLockPassword "和" ChooseLockPattern "活动.在我编译android源代码并在我的模拟器上启动system.img之后.
在我的应用程序中,我编写了以下函数,以便调用" ConfirmLockPattern "或" ChooseLockPattern "活动:
/**
* Show PIN/Password confirmation dialog.
*/
void ShowConfirmLockPINActivity() {
CustomLog.i(TAG, "Show Confirm Lock PIN Activity");
Intent intent = new Intent(Intent.ACTION_RUN);
intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.ConfirmLockPassword"));
startActivityForResult(intent, mRequestCode);
} /* ShowConfirmLockPINActivity() */
/**
* Show set PIN/Password dialog.
*/
void ShowSetLockPINActivity() {
CustomLog.i(TAG, "Show Set Lock PIN Activity");
Intent intent = new Intent(Intent.ACTION_RUN);
intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.ChooseLockPassword"));
startActivityForResult(intent, mRequestCode);
} /* ShowSetLockPINActivity() */
/**
* Show Pattern Confirmation dialog.
*/
void ShowSetLockPatternActivity() {
CustomLog.i(TAG, "Show Set Lock Pattern Activity");
Intent intent = new Intent(Intent.ACTION_RUN);
intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.ConfirmLockPattern"));
startActivityForResult(intent, mRequestCode);
} /* ShowSetLockPatternActivity() */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17909 次 |
| 最近记录: |