Android 点击 URL 打开修改后的 URL
Posted
技术标签:
【中文标题】Android 点击 URL 打开修改后的 URL【英文标题】:Android tap URL opens modified URL 【发布时间】:2016-02-09 23:31:03 【问题描述】:我对 Java 和 android 编程完全陌生。我已经安装了 Android Studio 并尝试了一些示例。我需要实现一个简单的应用程序
1) Android 在点击 http URL 时提供 Firefox 或 Chrome 的替代方案,
2) 过滤和修改被点击的 URL(通过简单的dirname
和concat
操作)并在浏览器中打开结果。
在 bash 中,firefox "$(filmod $1)"
之类的东西可以完成这项工作(对于 filmod
的一些合适的实现),但是在 Java 和 Android Studio 中会是什么样子呢?谢谢,nbpf
【问题讨论】:
【参考方案1】:对于第一个问题,请查看此链接http://developer.android.com/training/app-links/index.html,简而言之,您需要设置一个意图过滤器/处理程序。
使用 Android Studio,创建 helloWorld 项目并对应用程序进行更改。
1 个问题(当您点击手机上的某个链接时,这将使您的应用与 mozila、chrome...一起出现在列表中):
在您的清单中添加这行 INSIDE “活动”标签。
<intent-filter android:autoVerify="true">
<data android:scheme="http" />
<data android:scheme="https" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
2 个问题:
在MainActivity的onCreate()回调函数中,放上这段代码:
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
String link = intent.getScheme();
String linkData = intent.getDataString();
Log.d("TMS","action is: " + action);
Log.d("TMS","link is: " + link);
Log.d("TMS","linkData is: " + linkData);
String linkData 是您的 URL 名称。在那里你有你的字符串格式的链接,你可以将它传递给 textView 或 WebView ......等等......我已经在 Android 5.1 上测试过这个,但我不t see any reason that it shouldn
t 在 API 10 上工作,直到 API 23。
如果你愿意,我可以把我测试过的项目分享给你。
【讨论】:
谢谢阿德里安。假设我已经成功解决了 1) 问题,并且在点击 URL 时,我可以选择启动我的应用程序。在这一点上,我对 2) 的主要困难是如何在局部变量中获取触发应用程序打开的 URL。从那里,我想我可以弄清楚如何对其进行操作。以上是关于Android 点击 URL 打开修改后的 URL的主要内容,如果未能解决你的问题,请参考以下文章
如何在点击 android 推送通知时在外部浏览器中打开 url?
无需在 Android Studio 中打开浏览器即可点击 URL
Android 点击Url(短信链接)打开App 的调研与实现