2017-10-18 100 views
0

我想使用一个功能,用户可以通过该功能从按下项目文件启动我的应用程序/应用程序。我的眼睛在com.gluonhq.charm.down.plugins.RuntimeArgsService Gluon服务。是否可以从URL启动应用程序并处理应用程序内的URL内容?

我的第一个步骤将是刚刚从URL启动应用程序。但是 - 我想知道是否可以让应用程序知道它是从哪个URL启动的,因此它可以自动导入该项目并将其显示给用户。

可以启动URL提供给应用程序/应用 - 因此它可以从那里发起知道吗?

+0

难道也有可能使手机操作系统通知我的应用程序,如果关联该应用程序的文件被删除? iOS“文件”应用程序知道每当我删除云应用程序中的文件,并保持更新...我可以做类似的事情吗? – lelelo

回答

1

修改了Android的AndroidManifest.xml,并在iOS上使用Default-Info.plist,并使用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(用于消费对象),包含在应用程序从启动的URL。在我的情况下,我创建了一个名为.example的文件。这导致我的AndroidManifest.xml文件,还需要的修改:

AndroidManifest.xml文件我增加了以下内容: enter image description here

在胶子的魅力库:http://docs.gluonhq.com/charm/javadoc/4.4.0/com/gluonhq/charm/down/plugins/RuntimeArgsService.html - 它解释了如何使用该服务,但告诉你把你的方案设置为“yourScheme”(不是文学的资源)。

这里是关于neccassary标记类型的Android文档。它规定了一些必须提供的内容(为了将文件扩展名与您的应用相关联 - 除其他外)。我遇到了这个帖子Cannot open custom file extension。请注意,他正在将计划设置为需要剔除的“文件”。

记住一些data需要添加,即使你不把它们设置为具体的事情。这一切都使它适用于我从指定的文件扩展名类型启动我的应用程序,然后通过对象con通过侦听器接收URL。


在iOS上,我通过在Defualt-Info.plist文件中添加了两个密钥来实现这个工作。通过添加那些我告诉系统我的应用程序可以打开“.exa”(如示例)文件。 “TryingService”是Gluon应用程序的名称。 enter image description here

也可以在iOS上,以收到的URL方案与编辑的Defualt-Info.plist文件解释在这里:在评论这个问题How can I open/send a URL to another app on iOS with a Gluon application?

而在Android上也应该是possibel使用intents - 这已经是胶子的魅力下库使用的ShareServicehttps://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

相关问题