【问题标题】:Android tap URL opens modified URLAndroid 点击 URL 打开修改后的 URL
【发布时间】:2016-02-09 23:31:03
【问题描述】:

我对 Java 和 Android 编程完全陌生。我已经安装了 Android Studio 并尝试了一些示例。我需要实现一个简单的应用程序

1) Android 在点击 http URL 时提供 Firefox 或 Chrome 的替代方案,

2) 过滤和修改被点击的 URL(通过简单的dirnameconcat 操作)并在浏览器中打开结果。

在 bash 中,firefox "$(filmod $1)" 之类的东西可以完成这项工作(对于 filmod 的一些合适的实现),但是在 Java 和 Android Studio 中会是什么样子呢?谢谢,nbpf

【问题讨论】:

    标签: android url filter


    【解决方案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 shouldnt 在 API 10 上工作,直到 API 23。

    如果你愿意,我可以把我测试过的项目分享给你。

    【讨论】:

    • 谢谢阿德里安。假设我已经成功解决了 1) 问题,并且在点击 URL 时,我可以选择启动我的应用程序。在这一点上,我对 2) 的主要困难是如何在局部变量中获取触发应用程序打开的 URL。从那里,我想我可以弄清楚如何对其进行操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 2020-03-24
    相关资源
    最近更新 更多