Android 应用在深度 link 中添加错误时崩溃 activity.java

Android app crashing when deep link added something wrong in the main activity.java

我正在 unity 上开发一个应用程序。我计划在 android 和 ios 上分别建立深度 linking 过程。我在 android 上建立了深度 linking 过程,如下所示。 我的 android清单是这样的,

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.liveroom.liveroom" >
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".GalleryUpdater"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

我的主要 activity 即 GallaryUpdater.java 如下(仅 oncreate 和返回数据方法)

//deeplink intent catcher

    public static String id;
    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        Intent intent = getIntent();

        Uri data = intent.getData();
        id=data.getLastPathSegment();
    }

       //return id vale
    public String getId(){
        return id;
    }

当我在 android 设备上统一构建此应用程序时,应用程序在从设备菜单打开时崩溃。但是当通过深度 link 打开时,应用程序运行良好。如果有人能告诉我是什么原因导致了这里的问题。谢谢

添加空检查并尝试

if(intent != null && intent.getData() != null)
{
    Uri data = intent.getData();
    id=data.getLastPathSegment();
}