2017-03-02 17 views
2
Android deep linking is not working 
=================================== 
Android link:-notification://id=notificationid 

1を動作していない - とコーディング側Androidのディープリンクは

@Override 
     protected void onResume() { 
      super.onResume();   
      Intent intent = getIntent(); 
      String string=intent.getAction(); 
      Uri data = intent.getData(); 
      Log.d("hello","cgbdsuyfdkv"); 
     } 

をするが、その任意の体は私を助けることができますしてください動作していません! !!

+0

初めてのコード実行ですか? –

+0

はい私のコードとこのような私のURL(通知:// id = notificationid)を実行しますが、そのことができません –

+0

しかし、あなたは更新通知IDを取得できませんでしたか? –

答えて

0

あなたは単にあなたのURLを変更することができます

Android link:-notification://id=notificationid instead of 
Android link:-notification://page?id=notificationid //page is host name 
I tried a lot and find out this is working for me. 
  1. マニフェストコード

      <intent-filter> 
          <action android:name="android.intent.action.VIEW" /> 
          <category android:name="android.intent.category.LAUNCHER" /> 
          <category android:name="android.intent.category.BROWSABLE" /> 
    
          <data 
           android:host="page" 
           android:scheme="notification" /> 
         </intent-filter>  
    

2 .javaコード#通知IDをここに設定します

Intent intent = getIntent(); 
    String string = intent.getAction(); 
    Uri data = intent.getData(); 
    if (data != null) { 
     String path = data.getPath(); 
     String path1 = data.getPath(); 
     providerUrl = intent.getData().toString(); 
     UrlQuerySanitizer sanitizer = new UrlQuerySanitizer(); 
     sanitizer.setAllowUnregisteredParamaters(true); 
     sanitizer.parseUrl(providerUrl); 
     String id = sanitizer.getValue("id"); 
     if (id != null) 
      Log.d("notification id", id); 
    } 
+0

はい私は同意します 私のAndroidのリンク: - **通知:// id = notificationid **は正しくありません。 私はurlを変更する**通知://ホスト名?id = notificationid ** –

0

私はあなたインテントフィルタが不完全だと思う

<!-- To open app using link --> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"></action> 
     <category android:name="android.intent.category.DEFAULT"></category> 
     <category android:name="android.intent.category.BROWSABLE"></category> 
     <data android:scheme="http" 
       android:host="yourdomain.com" 
       android:pathPrefix="/someurlparam"> 
     </data> 
    </intent-filter> 
0

第一ステップ:

<intent-filter> 
    <data android:scheme="your_uri_scheme" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
</intent-filter> 

第二ステップ:

Uri data = this.getIntent().getData(); 
if (data != null && data.isHierarchical()) { 
    String uri = this.getIntent().getDataString(); 
    Log.i("MyApp", "Deep link clicked " + uri); 
} 
0

あなたActivityonNewIntent()メソッドを追加して、目的のオブジェクトを使用していますupdaを持つOnNewintent()メソッドでは可変ですtedメソッド。

onNewIntent()はすでにonCreate()を呼び出すことはできませんので、スタックのどこかで実行してsingleTopまたはsingleTask活動のためのエントリポイントとして意味しています。アクティビティのライフサイクルの観点から、onNewIntent()の前にonPause()に電話する必要があります。 onNewIntent()の内部でこれらのリスナーを使用しないようにアクティビティを書き直すことをお勧めします。例えば、私のonNewIntent()方法の時間のほとんどは、単に次のようになります。

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
//use this intent object to get notificationid for second time 

} 
関連する問題