0

我正在尝试为我的一个应用程序实现应用程序索引,但我不太确定我应该返回什么作为appUri应用程序索引Action

假设我有一个包名com.example.myappwebUri http://example.com/some/path.

据我了解,appUri通常com.example.myapp/http/example.com/some/path在这种情况下,对吗?

现在输入我的应用程序使用的库项目,以及索引活动所在的位置。让我们调用 library projectcom.example.mylibrary和 indexed activity 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

所以,我的问题是 -在这种情况下appUri,应用程序索引应该是什么Action?活动在图书馆项目中是否会受到影响?

4

1 回答 1

0

一般来说,您可以通过库提供的 Action.Builder 构建 Action。作为 uri,您需要提供相关的 URI。因此,如果您想索引 View Action,您应该提供被查看的产品的 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();


有关更多详细信息,您可以查看日志记录操作文档及其示例应用程序。
去测试:

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

其中 {package name} = com.example.myapp 和 URL =http://example.com/some/path

最后,您放置在库中的 Activity 应该具有可以处理您的 URI 的意图过滤器http://example.com/some/path

于 2017-03-28T20:25:36.827 回答