为什么Android应用程序的键盘锁不包含任何组件?

问题描述:

以下是AndroidManifest.xml中的内容缩短应用键盘锁棒棒糖的位于的:$(AOSP_Root_Dir)/frameworks/base/packages/Keyguard/为什么Android应用程序的键盘锁不包含任何组件?

<?xml version="1.0" encoding="utf-8"?> 

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.android.keyguard" 
    android:sharedUserId="android.uid.systemui" 
    coreApp="true"> 
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17"/> 

    <application android:label="@string/app_name" 
     android:process="com.android.systemui" 
     android:persistent="true" 
     android:supportsRtl="true"> 

    </application> 
</manifest> 

什么奇怪的是:有NO任何组件,活动,服务等。在AndroidManifest.xml中!

它是如何开始?

我不知道你打算怎么取出来,当你编辑这个缩短时间的形式,但在你链接到它的版本看肯定是有这样一种服务:

<service android:name=".KeyguardService" 
     android:exported="true" /> 

编辑:你现在链接到的版本,被签入删除的服务:

https://github.com/android/platform_frameworks_base/commit/380ecb81db52a9d0197ca969951d07b91c20d2b9

它做了以下内容:

  • 让Keyguard成为一个库,所以我们可以在SystemUI中使用它。
  • 实现SystemUI新KeyguardService,并从PhoneWindowManager绑定该服务 。
+0

我的第一个引用链接是错误的(4.4)。现在它是正确的(5.0)。 – xmllmx

+0

如果AndroidManifest.xml没有组件,那么如何将它作为库加载到SystemUI中? – xmllmx

+0

这是在这个问题中提到的提交注释中解释的,简而言之,组件被移动。保留的实现代码*链接到它。 –