是否可以从URL启动应用程序并处理应用程序内的URL内容?
我想使用一个功能,用户可以通过该功能从按下项目文件启动我的应用程序/应用程序。我的眼睛在com.gluonhq.charm.down.plugins.RuntimeArgsService
Gluon服务。是否可以从URL启动应用程序并处理应用程序内的URL内容?
我的第一个步骤将是刚刚从URL启动应用程序。但是 - 我想知道是否可以让应用程序知道它是从哪个URL启动的,因此它可以自动导入该项目并将其显示给用户。
可以启动URL提供给应用程序/应用 - 因此它可以从那里发起知道吗?
修改了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
文件我增加了以下内容:
在胶子的魅力库: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应用程序的名称。
也可以在iOS上,以收到的URL方案与编辑的Defualt-Info.plist
文件解释在这里:在评论这个问题How can I open/send a URL to another app on iOS with a Gluon application?。
而在Android上也应该是possibel使用intents
- 这已经是胶子的魅力下库使用的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
难道也有可能使手机操作系统通知我的应用程序,如果关联该应用程序的文件被删除? iOS“文件”应用程序知道每当我删除云应用程序中的文件,并保持更新...我可以做类似的事情吗? – lelelo