【问题标题】:Android Launcher Application not detecting Home key after signing with keystore使用密钥库签名后,Android 启动器应用程序未检测到 Home 密钥
【发布时间】:2012-07-06 09:48:35
【问题描述】:

我正在 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 键无效。

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

有什么想法吗?

【问题讨论】:

    标签: android signing android-launcher android-homebutton


    【解决方案1】:

    解决了。

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

    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>
    

    【讨论】:

      【解决方案2】:

      只需删除两行

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

      来自您的 ActivityOne

      <intent-filter >
      ...
      ...
      </intent-filter>
      

      【讨论】:

      • 删除 从列表中删除我的启动器按下主页键时的启动器。
      • 我认为这不应该发生,你又犯了一个错误。
      • 任何想法,我应该如何知道我做错了什么?而且同样的应用程序在没有签名的情况下也能正常工作。主键在签名后停止运行。
      • 你是怎么做的,登录密钥,你能解释/描述步骤吗?
      猜你喜欢
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      相关资源
      最近更新 更多