Android点按网址会打开修改后的网址

时间:2016-02-09 23:31:03

标签: android url filter

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

1)点按http网址时,Android会提供Firefox或Chrome的替代功能

2)过滤并修改点按的网址(通过简单的dirnameconcat操作)并在浏览器中打开结果。

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

1 个答案:

答案 0 :(得分:1)

对于第一个问题,请简要看一下这个链接http://developer.android.com/training/app-links/index.html,你需要设置一个意图过滤器/处理程序。

使用Android Studio,创建helloWorld项目并对该应用程序进行此更改。

1个问题(当您点击手机上的某个链接时,这会让你的应用程序出现在mozila,chrome ...列表中):

在你的表现中添加这一行INSIDE“activity”标签。

<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上测试了这一点,但我不会{} 1}在API 19上工作,直到API 23. / p>

如果您愿意,我可以与您分享我测试过的项目。