0

アプリのインデックス作成をアプリに実装しようとしていますが、Actionのインデックス番号appUriとして返されるものは何もわかりません。ライブラリプロジェクトでアプリケーションインデックスを実装するにはどうすればよいですか?

私は、パッケージ名がcom.example.myappで、webUrihttp://example.com/some/pathであるとします。

この場合、appUriは通常com.example.myapp/http/example.com/some/pathとなりますが、正しいですか?

私のアプリが使用するライブラリプロジェクトと、インデックスされたアクティビティが存在する場所を入力します。図書館プロジェクトcom.example.mylibraryと索引付けされた活動MyActivityを呼び出してみましょう。

私はADBを使用して活動を開始したい場合は、私はそう

adb shell am start -W -a android.intent.action.VIEW -d "http://example.com/some/path" com.example.myapp/com.example.mylibrary.MyActivity

を使用することになり、私の質問がある - アプリのインデックス作成ActionためappUri、この場合にはどうあるべきか?アクティビティが図書館プロジェクト内にあるという事実によって、それはまったく影響を受けますか?

答えて

0

一般に、ライブラリによって提供されるAction.Builderによるアクションを構築することができます。 uriとして、関連するURIを提供する必要があります。したがって、ビューアクションを索引付けする場合は、表示された製品のURIを指定する必要があります。

Uri.Builder builder = new Uri.Builder(); 
    String uriStr = builder 
     .scheme("http") 
     .authority("example.com") 
     .appendPath("some/path").build().toString(); 

    Action action = new Action.Builder(Action.Builder.VIEW_ACTION) 
     .setObject("productName", uriStr) 
     .build(); 


詳細については、あなたはlogging actions docsとそのサンプルアプリで見ることができます。テストへ
:終わり

adb shell am start -a android.intent.action.VIEW -d "{URL}" {package name} 

{パッケージ名} = com.example.myappとURL = http://example.com/some/path

、ライブラリに配置されたあなたの活動は、あなたを扱うことができるインテントフィルタを持つ必要がありますURI http://example.com/some/path

+0

申し訳ありませんが、あなたの 'adb'コマンドは私のためには動作しません。私は' Error:アクティビティが開始されず、Intentを解決できません。 'というメッセージが表示されます。これは、アクティビティが図書館プロジェクトの中にあるからだと思います。なぜなら、私は最初に質問しています(質問の 'adb'コマンドを参照してください - ライブラリプロジェクトを参照してから働いています)... – BadCash

+0

私の悪い - URLの周りの引用符が何とかそれらの素晴らしい引用符( '' '')に混乱してしまったことが判明しました!何らかの理由で、パッケージ名を使用しているときにのみ「エラー:アクティビティが開始されず、インテントを解決できませんでしたが、完全なパッケージ名+アクティビティを指定するときに問題なく動作しました。問題が解決しました。 – BadCash

関連する問題