Android发布模式问题

时间:2015-11-24 18:03:25

标签: android android-activity launchmode

虽然我已经在Stack Overflow上搜索了很长时间,但到目前为止找不到我想要的答案。

1。问题描述:

  • 我有一个Android应用程序,包含大量活动并提交给 Google Play。在它发布后,我下载它,每当打开它 应用程序,它开始一项新任务。我需要点击硬件后退按钮 几次杀死所有的任务。然后,在那之后,每当我 再次启动应用程序,一切都很好。
  • 另一个奇怪的事情是 如果我直接在设备上安装应用程序,则没有问题 通过adb命令(adb install xxxx.apk)

2。我做了什么:

  • 最初,在代码中,我使用“标准”启动模式进行启动活动。我遇到了上述问题。
  • 在我阅读完官方文档后,我意识到“标准”模式每次都会启动一个活动实例,所以我将启动模式改为“singtop”,但问题仍然存在。

第3。我不明白的是:

  • 如果我从Google Play安装应用程序,为什么应用程序会继续创建新任务。为什么“Singtop”启动模式在这种情况下不起作用?
  • 为什么我在通过adb命令直接安装应用时没有问题,而我在从Google Play安装应用时遇到问题。有什么区别。

4。参考源代码:

  • build.gradle(模块:app):

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.1"
    
        defaultConfig {
            applicationId "com.example.testing.exampletesting"
            minSdkVersion 17
            targetSdkVersion 22
        }
    
        buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.0'
    }
    
  • 的AndroidManifest.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.testing.exampletesting"
        android:versionCode="10"
        android:versionName="1.0.1" >
    
    <application
        android:allowBackup="true"
        android:icon="@mipmap/app_logo"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".LaunchActivity"
            android:launchMode="standard">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <activity android:name=".DummyAActivity" />
    
        <activity android:name=".DummyBActivity" />
    
        <activity android:name=".DummyCActivity" />
    
    </application>
    
    </manifest>
    

0 个答案:

没有答案