2016-08-31 2 views
-1

Jedes Mal, wenn ich meine App von Android Studio laufen, eine Aktivitätinstallierte Anwendung von Android Studio öffnet eine andere Aktivität statt Launcher Aktivität

android:exported="true" 

mit Aktivitäten statt Launcher get gestartet

<activity 
     android:name=".activity.SplashScreen" 
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@style/Theme.AppCompat.NoActionBar" 
     android:windowSoftInputMode="stateHidden|adjustPan"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

Aber sobald App installiert, korrekte Launcher-Aktivität wird geöffnet, kein Problem. Das einzige Problem tritt auf, wenn ich meine App von Android Studio aus starte (d. H. Durch Ausführen der App). Warum passiert das?

Ohne android:exported="true" wird auf einigen Geräten diese Aktivität nicht gestartet, nachdem auf die Benachrichtigung über meine App geklickt wurde. Ist es also gut exportgetreu zu bleiben?

Auch kann ich nicht mein ganzes Manifest hier posten

+0

manifest.xml, launcher Aktivitätscode bitte – Rahul

+5

vielleicht Ihre Lauf-Konfiguration überprüfen? Ausführen -> Konfigurationen bearbeiten – Bill

+0

"Ohne Android: exportierte =" wahr ", auf einigen Geräten wird diese Aktivität nicht gestartet, nachdem ich auf die Benachrichtigung meiner App geklickt habe" - das ist ein separates Problem. Sie sollten Ihre Aktivität nicht exportieren müssen, damit sie über einen 'PendingIntent' geöffnet wird, der von einer' Notification' verwendet wird. – CommonsWare

Antwort

-1

Wenn es in Android Studio geschieht nur, und nicht, wenn die App installiert ist, ist es sehr wahrscheinlich ein Problem mit der Laufzeitkonfiguration. Sie können darauf zugreifen, indem

Run

gehen -> Edit Konfigurationen

0

Wenn die App von Android Studio ausgeführt wird, sind Sie wahrscheinlich mit Instant-Laufe. Dadurch werden die Codeänderungen auf den aktuell ausgeführten Prozess Ihrer App angewendet. Anstatt die App erneut zu installieren, werden die neuen Änderungen auf die laufende App angewendet. In diesem Fall sehen Sie die aktuelle laufende Aktivität so wie sie ist.

http://android-developers.blogspot.com.eg/2016/04/android-studio-2-0.html https://developer.android.com/studio/run/index.html

Verwandte Themen