当前位置:  开发笔记 > 编程语言 > 正文

拦截浏览器中的链接以打开我的Android应用

如何解决《拦截浏览器中的链接以打开我的Android应用》经验,为你挑选了1个好方法。

我希望能够在用户点击给定模式的URL而不是允许浏览器打开它时提示我的应用程序打开链接.这可能是当用户在浏览器或电子邮件客户端中的网页上或在新鲜应用中的WebView中时.

例如,从手机中的任意位置点击YouTube链接,您就有机会打开YouTube应用.

我如何为自己的应用程序实现此目的?



1> jamesh..:

使用类别android.intent.category.BROWSABLE的android.intent.action.VIEW.

来自Romain Guy的Photostream应用程序的AndroidManifest.xml,

    

                    

        
            
            
            
            
            
        
    

进入活动后,您需要查找操作,然后使用您已经提交的URL执行操作.该Intent.getData()方法为您提供了一个Uri.

    final Intent intent = getIntent();
    final String action = intent.getAction();

    if (Intent.ACTION_VIEW.equals(action)) {
        final List segments = intent.getData().getPathSegments();
        if (segments.size() > 1) {
            mUsername = segments.get(1);
        }
    }

然而,应该注意的是,这个应用程序有点过时(1.2),所以你可能会发现有更好的方法来实现这一点.


如果您关心包括查询字符串的完整URL,您可能希望使用intent.getDataString()而不是getData().这个评论将节省你只花费我的时间..... :-(
有一点需要注意 - 您的用户将被选择使用合适的应用程序,因为您所做的只是将您的应用程序注册为处理程序.就个人而言(作为用户)虽然我意识到我可以选择"默认行动",但我对此感到恼火
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有