使用密钥库签名后 Android 启动器应用程序未检测到 Home 键

Abh*_*kar 1 android signing android-launcher android-homebutton

我正在 Android Ice Cream Sandwich 中创建一个启动器应用程序。

我有 3 项活动。这就是它们在清单文件中声明的方式。

    <activity
        android:label="@string/app_name"
        android:name=".ActivityOne" 
        android:theme="@android:style/Theme.Light.NoTitleBar"
        >
        <intent-filter >
              <action android:name="android.intent.action.MAIN" />    
             <category android:name="android.intent.category.HOME"/>    
            <category android:name="android.intent.category.DEFAULT" /> 
              <category android:name="android.intent.category.LAUNCHER" />  
        </intent-filter>
    </activity>

         <activity android:name=".Activitytwo"
        android:theme="@android:style/Theme.Light.NoTitleBar">

    </activity>

    <activity android:name=".ActivityThree"
        android:theme="@android:style/Theme.Light.NoTitleBar">

    </activity>
Run Code Online (Sandbox Code Playgroud)

在手机中安装 apk 并按系统栏中的 Home 键后,我将进入“ActivityOne”。这工作得很好。

然后我创建了一个密钥来签署 apk。从 Eclipse 导出项目并对 apk 进行签名。现在按Home键没有任何作用。

我需要应用程序在签名后以与原来相同的方式工作。

有任何想法吗 ?

Abh*_*kar 5

解决了。

在清单中的活动标记下添加以下行即可解决该问题。

android:launchMode="singleTask"

<activity
    android:label="@string/app_name"
    android:name=".ActivityOne"
    android:launchMode="singleTask"
    android:theme="@android:style/Theme.Light.NoTitleBar"
    >
    <intent-filter >
          <action android:name="android.intent.action.MAIN" />    
         <category android:name="android.intent.category.HOME"/>    
        <category android:name="android.intent.category.DEFAULT" /> 
          <category android:name="android.intent.category.LAUNCHER" />  
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)