从HomeScreen(快捷方式)和App抽屉启动应用程序是不一样的

时间:2015-02-23 16:31:11

标签: android

我遇到了一种奇怪的行为。也许有人可以澄清一下。 当我从GooglePlay下载我的应用时,会添加2个图标。一个人进入主屏幕作为快捷方式,另一个进入App Drawer(屏幕上显示我在设备上安装的所有不同应用程序)。

现在这是事件的流程:

  1. 我从GooglePlay安装应用
  2. 我在安装完成后启动应用程序,也是从GooglePlay启动应用程序(有一个打开的按钮) - >这将启动应用程序,显示启动画面并转到我的主屏幕
  3. 我在我的应用中导航到不同的屏幕
  4. 我点击主页按钮进入主屏幕。
  5. 现在有趣的部分:

    1. 我按下GooglePlay为我创建的主屏幕快捷方式图标,以便我回到我的应用程序 - >这让我看到了与我完全相同的画面。
    2. 我再次点击主页按钮进入主屏幕。
    3. 这一次,我按下App Drawer快捷图标返回我的应用程序 - >这再次显示启动画面并将我带到我的主屏幕。
    4. 这种情况经常发生。每个快捷方式都会启动到不同的状态(或屏幕)。 请注意,“最近”列表中只有一个应用程序。

      另一方面。如果我自己创建主屏幕快捷方式,当我从两个图标启动应用程序时,我得到相同的结果。 GooglePlay为我创建的快捷方式有所不同。

      有什么想法吗?

      修改 这是AndroidManifest.xml 一些名称改变了。必须删除一些信息(与intent-filters无关)。

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.xxxx.xxxxjh"
          android:installLocation="internalOnly">
      
      <uses-permission android:name="android.permission.WAKE_LOCK" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.READ_CONTACTS" />
      <uses-permission android:name="com.android.vending.BILLING" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      
      <application
          tools:node="replace"
          android:name=".xxxxgggApplication"
          android:allowBackup="true"
          android:icon="@drawable/icon"
          android:label="@string/app_name"
          android:largeHeap="true"
          android:hardwareAccelerated="true"
          android:theme="@style/AppTheme" >
      
          <activity
              android:name=".view.activities.StartupActivity"
              android:theme="@style/AppThemeNoBar"
              android:windojhoftInputMode="adjustResize|stateHidden">
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
      
                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
          </activity>
      
          <activity
              android:name=".view.activities.WelcomeActivity"
              android:theme="@style/WelcomeActivityStyle"/>
      
          <activity
              android:name=".view.activities.AccountActivity"
              android:theme="@style/AppThemeNoBar"
              android:windojhoftInputMode="adjustResize|stateHidden"/>
      
          <activity
              android:name=".view.activities.UrlSchemeHandlerActivity"
              android:launchMode="singleInstance">
              <intent-filter>
                  <action android:name="android.intent.action.VIEW" />
      
                  <category android:name="android.intent.category.DEFAULT" />
                  <category android:name="android.intent.category.BROWSABLE" />
      
                  <data android:scheme="xxxx" />
              </intent-filter>
              <intent-filter>
                  <action android:name="android.intent.action.VIEW" />
      
                  <category android:name="android.intent.category.DEFAULT" />
                  <category android:name="android.intent.category.BROWSABLE" />
      
                  <data android:scheme="xxxx5.4" />
              </intent-filter>
          </activity>
      
      
          <activity
              android:name=".view.activities.FileManagerActivity"
              android:label="@string/app_name"
              android:launchMode="singleTask"
              android:logo="@drawable/fm_drawer"
              android:theme="@style/AppThemeBar"
              android:windojhoftInputMode="adjustPan|stateHidden"/>
      
          <activity
              android:name=".view.activities.ViewerActivity"
              android:label="@string/launcher_activity_label"
              android:theme="@style/AppThemeNoBar"
              android:windojhoftInputMode="adjustResize|stateHidden"
              android:parentActivityName=".view.activities.FileManagerActivity" >
              <!-- The meta-data element is needed for versions lower than 4.1 -->
              <meta-data
                  android:name="android.support.PARENT_ACTIVITY"
                  android:value=".view.activities.FileManagerActivity" />
          </activity>
      
          <activity
              android:name=".view.activities.DemoActivity"
              android:label="@string/launcher_activity_label"
              android:theme="@style/WelcomeActivityStyle"
              android:windojhoftInputMode="adjustResize|stateHidden" />
      
          <activity
              android:name=".view.activities.ApplicationSettingsActivity"
              android:logo="@drawable/fm_drawer"
              android:label="@string/AG_Settings"
              android:windojhoftInputMode="adjustResize|stateHidden">
              <meta-data
                  android:name="android.support.PARENT_ACTIVITY"
                  android:value="com.xxxx.xxxxjh.view.activities.FileManagerActivity" />
      
          </activity>
      
          <activity
              android:name=".view.activities.WebViewActivity"
              android:logo="@drawable/fm_drawer"
              android:theme="@style/AppThemeBar" />
      
          <service android:name="com.xxxx.sdk.controller.service.account.AccountService" >
             <!-- Actions and meta data goes here... -->
          </service>
          <service android:name="com.xxxx.sdk.controller.service.storage.StorageService">
             <!-- Actions and meta data goes here... -->
          </service>
          <service android:name="com.xxxx.sdk.controller.service.designFeed.DesignFeedService">
             <!-- Actions and meta data goes here... -->
          </service>
          <service android:name="com.xxxx.sdk.controller.service.ConfigService">
            <!-- Actions and meta data goes here... -->
          </service>
      
          <meta-data
              android:name="com.google.android.gms.version"
              android:value="@integer/google_play_services_version" />
      
      </application>
      

1 个答案:

答案 0 :(得分:1)

我很遗憾地告诉您,这不是您项目中的错误,而是Android默认行为。我做了一些研究,结果在以下主题中。也许你可以过滤掉一些有用的信息,并在你的项目中测试这些方法。

App completely restarting when launched by icon press in launcher

Android application restarts when opened by clicking the application icon

格尔茨。