Глубокие ссылки открывают приложение с активностью запуска, а не с активностью глубоких ссылок непоследовательно - PullRequest
0 голосов
/ 23 ноября 2018

Я реализовал глубокое связывание в своем приложении для 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>
...