2

Недавно я работал над приложением для устройств Android - и я заметил недоумение, которое возникает только на устройствах под управлением Samsung Touchwiz!Несколько экземпляров приложения для Android открыты - ТОЛЬКО на Touchwiz

Когда приложение работает на устройстве Touchwiz, возникает ошибка. Ошибка может быть воспроизведена нажатием кнопки «назад», когда приложение находится на переднем плане, - и затем снова запускает его с главного экрана (или где-либо еще может быть значок). В многозадачном меню видно, что система запускает второй экземпляр приложения! Эти два экземпляра полностью независимы от первого экземпляра, и оба они никак не связаны.

Я думал, что смогу предотвратить это поведение, добавив singleInstance в манифест приложений, но это, похоже, не помогло. Manifest:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 
    android:launchMode="singleInstance"> 
    <activity 
     android:name=".MainActivity" 
     android:screenOrientation="portrait" 
     android:launchMode="singleInstance"> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 

    </activity> 
    <activity 
     android:name=".Settings_area" 
     android:screenOrientation="portrait" /> 
    <!-- 
     The API key for Google Maps-based APIs is defined as a string resource. 
     (See the file "res/values/google_maps_api.xml"). 
     Note that the API key is linked to the encryption key used to sign the APK. 
     You need a different API key for each encryption key, including the release key that is used to 
     sign the APK for publishing. 
     You can define the keys for the debug and release targets in src/debug/ and src/release/. 
    --> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="AIzaSyDieXTCaFoIL0kJ_IM4UMBSQL3sNn92AWM" /> 

    <activity 
     android:name=".MapsActivity" 
     android:label="@string/title_activity_maps" /> 
    <activity android:name=".Splash" 
     android:launchMode="singleInstance"> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

    </activity> 
    <activity android:name=".aboutPageActivity" /> 
    <activity android:name=".turnOffFromNotification" 
     android:noHistory="true"></activity> 
</application> 

Интересно отметить, что второй экземпляр «замерзает» на приложениях брызнуть экран - пока этот второй экземпляр не будет нажат из нескольких - многозадачности меню.

Это, как я обработки экрана выплеска:

new Handler().postDelayed(new Runnable(){ 
     @Override 
     public void run() { 
      /* Create an Intent that will start the Menu-Activity. */ 
      Intent mainIntent = new Intent(Splash.this,MainActivity.class); 
      Splash.this.startActivity(mainIntent); 
      Splash.this.finish(); 
     } 
    }, splashDisplayLength); 

Я также над-Rode действие назад кнопки в моей основной деятельности:

public void onBackPressed() 
{ 
    moveTaskToBack(true); 
} 

Эта ошибка только происходит на устройствах с TouchWiz. Я тестировал свое приложение на нескольких устройствах, и эта ошибка не может быть воспроизведена на любом устройстве, кроме тех устройств Samsung, на которых работает TouchWiz.

Любые предложения будут очень благодарны.

спасибо!

+1

Вы пытались убить процесс на спине нажатой? если не попробовать этот файл android.os.Process.killProcess (android.os.Process.myPid()); – Muthu

+0

Здравствуйте @Muthu, я не хочу прекращать процесс, если пользователь нажимает кнопку «Назад», а просто посылает его на задний план! – traintrax8

+1

Вы можете удалить фильтр намерений из MainActivity и проверить? – Muthu

ответ

1

Проблема, похоже, связана с фильтрами намерений в mainactivity. удалите фильтры намерений из mainactivity, которые позволят решить проблему.

+0

Спасибо за вашу помощь! Это решило проблему! – traintrax8

+1

Счастлив помочь Бра .....! – Muthu

Смежные вопросы