質問

私のようなそのURIを定義したいと言います

myapp://path/to/what/i/want?d=This%20is%20a%20test

私自身のアプリケーション、またはサービスによって処理されなければなりません。スキームは"myapp"ない"http"、または"ftp"であることに注意してください。 AndroidのOSのために世界的に私自身のURIスキーマを定義するには:それは私が意図するものを正確にです。これは可能でしょうか?

このようなスカイプ(skype://)として、例えば、Windowsシステム、または任意のTorrentダウンローダプログラム(torrent://)、いくつかのプログラムは、すでに上の何にやや似てます。

他のヒント

href="https://stackoverflow.com/questions/2448213/how-to-implement-my-very-own-uri-scheme-on-android/2448531#2448531"> @DanielLew <答えは、あなたがこれをしなければならないparameteresの値を取得します:

URIの例:myapp://path/to/what/i/want?keyOne=valueOne&keyTwo=valueTwo

あなたの活動でます:

Intent intent = getIntent();
if (Intent.ACTION_VIEW.equals(intent.getAction())) {
  Uri uri = intent.getData();
  String valueOne = uri.getQueryParameter("keyOne");
  String valueTwo = uri.getQueryParameter("keyTwo");
}

ディエゴのための別の代替的なアプローチは、ライブラリを使用することです。

https://github.com/airbnb/DeepLinkDispatchする

あなたは簡単のように、あなたが扱うしたいURIとあなたが活動上の注釈を通じて抽出したいパラメータを宣言することができます

@DeepLink("path/to/what/i/want")
public class SomeActivity extends Activity {
  ...
}

プラスとして、クエリパラメータも同様にアクティビティに渡されます。

質問は年前に頼まれて、Androidは、このURIスキームに大きく進化していると。
オリジナルのURIスキームから、ディープリンク、そして今アンドロイドアプリのリンクへ。

Androidのは、今あなた自身のURIスキームを定義していない、HTTP URLを使用することを推奨しています。 Androidのアプリのリンクがありませんので、他のアプリがあなたのリンクを使用することはできません、あなたが所有するウェブサイトのドメインへリンクしているHTTP URLを使用しているため。あなたはここにの

からディープリンクとアンドロイドアプリリンクの比較を確認することができます

今すぐ簡単にAndroidのメーカーオプションを使用して、URIスキームを追加することができます。[ツール]> [アプリケーションのリンクアシスタント。 https://developer.android:アンドロイド文書に詳細を参照してください。 COM /スタジオ/書き込み/アプリリンク-indexing.htmlする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top