【发布时间】:2019-09-11 09:05:39
【问题描述】:
我希望当用户点击以下格式的链接时,他们将可以选择直接启动应用程序https://www.somedomain.com/asia/country?name=blabla。如果应用程序尚未启动,它应该启动 SplashScreenActivity 屏幕;但如果应用已经打开,我想跳过 SplashScreenActivity 屏幕,直接显示 MainActivity 屏幕。
我将我的清单配置如下并将 SplashScreenActivity 设置为 singleTask,但每次我点击深层链接 url 时,它都会从开始 (SplashScreenActivity) 启动。有没有办法解决这个问题?
<activity
android:name=".myapp.ui.SplashScreenActivity"
android:screenOrientation="portrait"
android:launchMode="singleTask"
android:theme="@style/FullScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</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:host="www.somedomain.com"
android:path="/asia/country"
android:scheme="https"/>
</intent-filter>
</activity>
<activity
android:name=".myapp.ui.MainActivity"
android:configChanges="layoutDirection|locale"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustNothing" >
</activity>
【问题讨论】:
-
我真的不喜欢其他人不回答我的直接问题,但仍然:如果它正在加载数据并且您不能在
MainActiviy中显示更有意义的内容,您应该只显示启动屏幕.您遇到问题的事实告诉我不需要启动屏幕。如果您仍然必须或想要:SplashScreenActivity接收 Intent。在SplashScreenActivity的onCreate中,检查意图。如果它包含深层链接,请立即启动您的 MainActivity