2016-03-04 86 views
-2

添加了错误的Android应用程序崩溃我正在开发一个统一的应用程序。我正在计划在android和ios上分别建立深层链接过程。我在android上建立了深层链接过程如下。 我androidmanifest是这样的,当深层链接在主要activity.java

<?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> 

并且是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设备,当从设备的菜单打开时,应用程序崩溃。但通过深层链接打开应用程序时效果非常好。如果有人能告诉我这是什么原因造成的问题。谢谢

+1

后的堆栈跟踪。 – JoxTraex

+3

当您通过应用程序启动器启动时,数据为空的任何机会? – mkasberg

+0

林不知道如何获得堆栈跟踪新的这种环境@ JoxTraex –

回答

1

添加一个空检查,并尝试

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