App从应用商店下载时多次启动

时间:2016-03-24 07:37:43

标签: android android-activity

我在Play商店有一个应用程序,在设备上下载会导致问题。假设我单击启动器上的启动器图标打开应用程序,然后我从抽屉中单击应用程序。该应用程序已启动2个实例。如果我从Google商店点击(打开),它会启动3个实例。我该如何解决这个问题?

第一种方式我解决了,但不是最好的解决方案。我做的第一个活动是launchmode =“singleinstance”没有显示主题,这个第一个活动带你去泼水。所以当我点击我的应用程序启动器图标,或从抽屉,或从谷歌商店,它将始终打开第一个活动,然后带你去如果应用程序未打开则启动屏幕,或者如果应用程序处于打开状态,则显示已经存在的屏幕。

我解决的第二种方法是,在我的应用程序标签中使用launchmode =“singletop”,这在测试打开启动器和抽屉之间的应用程序时起作用。但是当我点击从Play商店打开应用程序时,它没有用,当我点击从Play商店打开时,它打开我的应用程序一次......然后我点击我的启动器后打开我的应用程序2个实例。

第一个解决方案

  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".FirstActivity"
       android:theme="@android:style/Theme.NoDisplay"
        android:launchMode="singleInstance"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
     <activity
        android:name=".SplashActivity" >

创建

内的第一个活动
  protected void onCreate(Bundle savedInstanceState) {//open splash activity}

第二个解决方案

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".SplashActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

0 个答案:

没有答案