Я реализовал глубокое связывание в своем приложении для Android с push-уведомлением, но когда я открываю приложение с сообщением с глубоким связыванием push-уведомления, а не с Deep Linking Activity, приложение непоследовательно открывает действие запуска.Я пытался изменить android:launchMode="singleTop"
, но не получилось.Мои кодовые действия по активным ссылкам и код манифеста Android приведены ниже.
Активные ссылки:
[Activity(Label = "DeepLinkingActivity")]
public class DeepLinkingActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if (SessionContext.DeepLinkingMessageContent == null)
{
CheckDeepLinkingContent(Intent);
}
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
if (SessionContext.DeepLinkingMessageContent == null)
{
CheckDeepLinkingContent(intent);
}
}
void CheckDeepLinkingContent(Intent intent)
{
if (intent.Data != null)
{
var intentData = Intent.Data;
var hostData = intentData.Host;
var path = intentData.Path;
var pathContent = path.Split('/');
//...
//processing content of the deep linking message
SessionContext.DeepLinkingMessageContent = deepLinkingContent;
StartActivity(typeof(LoginView));
Finish();
}
}
Часть манифеста Android:
<activity android:name="myapp.android.views.DeepLinkingActivity" android:launchMode="singleTop">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myappscheme" android:host="apphost"/>
</intent-filter>
</activity>