1

我正在 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>

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

然后我创建了一个密钥来签署 apk。从 Eclipse 中导出项目并签署 apk。现在按 Home 键没有任何效果。

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

有任何想法吗 ?

4

2 回答 2

3

解决了。

在活动标记下的清单中添加以下行解决了它。

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>
于 2012-07-09T04:32:34.820 回答
0

只需删除两行

<category android:name="android.intent.category.HOME"/>    
<category android:name="android.intent.category.DEFAULT" />

来自您的 ActivityOne

<intent-filter >
...
...
</intent-filter>
于 2012-07-06T09:51:15.387 回答