我想通过链接打开一个 MainActivity。为此,我在清单中写道:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<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:scheme="https"
android:host="mysite.net"/>
</intent-filter>
</activity>
MainActivity 中的处理:
@Override
protected void onResume(){
super.onResume();
if(getIntent().getData() != null) {
showSomething(getIntent().getData().toString());
}
}
问题:为什么,如果应用程序在后台,我会得到一个零日期的 Intent,如果应用程序关闭,那么我完全可以得到必要的数据?
您应该通过覆盖
void onNewIntent(Intent intent)
更新意图的方法来帮助您。如果在此方法中将其分配为活动意图 (setIntent(intent)
),那么将来getIntent()
它将必须返回所需的实例。