默认启动程序包名称android

时间:2013-12-23 19:30:33

标签: android-intent

我遇到了获取默认启动程序包名称的问题。

这是清单文件:

<activity
    android:name="com.lc.Activity"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name="com.lc.StartLockScreen"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
</activity>

我试过了:

Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
ResolveInfo resolveInfo = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
String currentHomePackage = resolveInfo.activityInfo.packageName;

当我在评论中放置清单中的启动器选择代码时,我得到了所需的包名称 但删除评论我只得到“android”作为包名称。 为什么会这样?请提出建议。

1 个答案:

答案 0 :(得分:0)

是的,因为默认主屏幕是android系统的一部分。如果你想访问它的主屏幕,那么使用Component类。