【问题标题】:Is it possible to launch app from URL and handle the URL content from inside app?是否可以从 URL 启动应用程序并从应用程序内部处理 URL 内容?
【发布时间】:2018-03-30 22:59:49
【问题描述】:

我想使用一种功能,用户可以通过按下项目文件来启动我的应用程序/应用程序。我关注com.gluonhq.charm.down.plugins.RuntimeArgsService Gluon 服务。

我的第一步是从 URL 启动应用程序。但是 - 我想知道是否/如何让我的应用程序知道它是从哪个 URL 启动的 - 这样它就可以自动导入该项目并将其显示给用户。

能否将启动 URL 提供给应用程序/应用程序 - 以便它知道从何处启动?

【问题讨论】:

  • 如果应用程序的关联文件被删除,是否也可以让移动操作系统通知我的应用程序? iOS“文件”应用程序知道我何时删除云应用程序中的文件,并保持更新......我可以做类似的事情吗?

标签: android-manifest desktop gluon-mobile info-plist


【解决方案1】:

通过修改AndroidManifest.xml(Android)和Default-Info.plist(iOS)并使用com.gluonhq.charm.down.plugins.RuntimeArgsService,这是可能的。

Services.get(RuntimeArgsService.class).ifPresent(service -> {
    service.addListener(LAUNCH_URL_KEY, con -> {
        out("Received LAUNCH_URL_KEY: " + con);
    });
});

import static com.gluonhq.charm.down.plugins.RuntimeArgsService.LAUNCH_URL_KEY 为必填项)

con 此处(对于 Consumer 对象),包含启动应用程序的 url。在我的情况下,我自己制作了一个名为 .example 的文件。这导致我修改了同样需要的AndroidManifest.xml 文件:

AndroidManifest.xml 文件中,我添加了以下内容:

在 Gluon Charm 库中:http://docs.gluonhq.com/charm/javadoc/4.4.0/com/gluonhq/charm/down/plugins/RuntimeArgsService.html - 它解释了如何使用该服务,但告诉您将您的方案设置为“yourScheme”(不是出于文学目的)。

这里是关于必需标签类型的 Android 文档。它指出一些是强制性的(为了将文件扩展名与您的应用程序相关联 - 除其他外)。我遇到了这个帖子Cannot open custom file extension。请注意,他正在将方案设置为“文件”,这是必要的。

请记住,一些data 是必需的,即使您没有将它们设置为任何特定的值。这一切都使我可以从指定的文件扩展名类型启动我的应用程序,然后通过对象con 通过侦听器接收 url。


在 iOS 上,我通过在 Defualt-Info.plist 文件中添加两个键来实现此功能。通过添加那些我告诉系统我的应用程序可以打开“.exa”(如示例)文件。 “TryingService”是 Gluon 应用程序的名称。

在 iOS 上也可以通过编辑 Defualt-Info.plist 文件来接收 url 方案,此处解释:How can I open/send a URL to another app on iOS with a Gluon application? 在该问题的 cmets 中。

在 Android 上也应该可以使用 intents - Gluon Charm Down 库中的 ShareService 已经使用了它:https://bitbucket.org/gluon-oss/charm-down/src/153d43c06ff129f1ff93cc48a030c3a2cf099281/plugins/plugin-share/android/src/main/java/com/gluonhq/charm/down/plugins/android/AndroidShareService.java?at=default&fileviewer=file-view-default

【讨论】:

    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多