从浏览器获取重定向 URL - Android

2023-12-24

这是我的问题,我想从用户那里授权我的应用程序。 为此,API 为我提供了 OAuth 2.0 流程

我有一个链接“ A ”,其中包含我的应用程序密钥和重定向链接

eg. REDIRECT_LINK

链接 A 在浏览器中打开时要求用户提供用户名和密码并授权我的应用程序,成功授权后用户将被重定向到REDIRECT_LINK

the REDIRECT_LINK用我需要存储在变量中的密钥进行编码

eg. https://www.twitter.com/some_profile https://www.twitter.com/some_profile?key=Asc545AS454dS44as

我不希望用户访问重定向链接,我只想获取网址进而关闭浏览器, 该页面不应打开.

我已使用此代码在浏览器中打开链接

Intent httpIntent = new Intent(Intent.ACTION_VIEW);
            httpIntent.setData(Uri.parse("LINK_A"));
            startActivity(httpIntent); 

如果您在 WebView 中打开页面,您的应用程序可以监听任何 URL 更改shouldOverrideUrlLoading() http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading%28android.webkit.WebView,%20java.lang.String%29打回来。

如果您更喜欢打开股票浏览器,您可以启动一项服务来定期轮询最新的 URL:

String lastDate = "0";
…
String newDate = Long.toString(Calendar.getInstance().getTimeInMillis());
Cursor cursor = context.getContentResolver().query(
    Browser.BOOKMARKS_URI,
    Browser.HISTORY_PROJECTION,
    Browser.BookmarkColumns.DATE + " IS NOT NULL AND " + Browser.BookmarkColumns.DATE + " > ?",
    lastDate,
    Browser.BookmarkColumns.DATE + " DESC");
if (cursor.moveToNext()) {
    String url = cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
}
cursor.close();

lastDate = newDate; // update the timestamp

当您发现url符合您预期的更改,您可以切换到您的活动并在应用程序的上下文中继续。

可以关闭浏览器,但从最终用户的角度来看,这可能不礼貌。想象一下,例如,她打开了 5 个包含重要信息的选项卡,而这一切都被破坏了!

注意这个方法可以使用 https://stackoverflow.com/a/15240622/192373对于 Chrome 浏览器,内容提供商略有不同:内容://com.android.chrome.browser/bookmarks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从浏览器获取重定向 URL - Android 的相关文章

  • 从设备获取日期并将其转换为 GMT+4

    我正在尝试查找 Android 手机的时区 因为我想获取日期对象 但我想要 GMT 4 格式 我看到的所有其他答案都会转换来自 API 请求的时间 其时区已知 我怎样才能做到这一点 其他方法可能是将服务器传来的 GMT 4 时间转换为我设备
  • 获取 Spring Boot 中当前活动数据源的引用

    我想通过实现数据库数据初始化DataSourceInitializer 我将这些方法放在我的 Spring Boot 主方法下面 但似乎它根本没有被执行 我尝试故意删除字符只是为了触发一个错误来确认执行 什么也没有发生 Configurat
  • SQLite CursorWindow 限制 - 如何避免崩溃

    我必须执行查询并将结果存储在列表中 我使用的函数如下 List
  • Apache HTTPClient SSLPeerUnverifiedException

    使用 Apache HttpClient 4 2 1 使用从基于表单的登录示例复制的代码 http hc apache org httpcomponents client ga examples html http hc apache or
  • 如何在 Android (Xamarin) 中以编程方式从当前主题获取颜色

    我需要以编程方式获取一些默认主题颜色值 例如 windowBackground colorPrimary 我正在执行活动中的代码 我的目标安卓API 为 21 我正在使用一个Theme Material theme 我试过了 var att
  • Java 1.8 和 tomcat 6.0.53 引起:java.io.EOFException:SSL 对等点错误关闭

    java cp catalina jar org apache catalina util ServerInfo Server version Apache Tomcat 6 0 53 Server built Apr 19 2017 22
  • android项目中视频文件放在哪里

    我有一个视频 我需要知道放置在哪里以及如何获取该视频的路径 我知道如何从 URL 添加视频 Uri uri Uri parse www abc com myVid mp4 videoView VideoView findViewById R
  • 识别包含本机方法实现的库文件/源

    如何识别包含本机方法实现的库文件 Ex public native String intern 我在哪里可以找到实施 source code of String intern 方法 找到了答案String intern 与快速谷歌搜索 ht
  • MediaDevices.getUserMedia() 如何设置音频约束(采样率/位深度)?

    使用浏览器 Web API 我想设置MediaDevices getUserMedia 限制条件属性 适合记录音频语音 语音消息 例如设置这些参数 mono 16bit 16KHz 这是我的代码 const mediaStreamConst
  • 方法中缺少 return 语句错误

    我正在尝试编写一个返回计算机 MAC 地址字符串的静态方法 该函数本身可以在此处找到 http www mkyong com java how to get mac address in java http www mkyong com j
  • Java - 动态创建子类

    我想以编程方式创建一个子类 我想我的选择很少 Javassist CGLib BCEL 或 ASM 用例是一个应用程序的内部是面向类的 而扩展是基于类的 因此 我不能将单个类作为由外部化脚本驱动的多个扩展的基础 现在 我该怎么做呢 我找到了
  • 在 libgdx 中截取屏幕截图

    我有一个应用程序 我想在其中截取游戏屏幕的屏幕截图并将其保存为图像并上传到 Facebook 我正在使用 Libgdx 我的重点是 android 谁能帮助我如何以编程方式截取游戏屏幕并将其另存为图像 现在相当容易 Libgdx提供了一个例
  • Android Google plus 注销按钮看起来与 Google 教程文档中的登录按钮不同

    我正在按照 Google 开发人员网站中提到的步骤在我的应用程序中实现登录和注销 如前所述 添加登录和退出按钮的代码是
  • 如何在 Android 键盘中包含建议

    我正在开发 Android 软键盘 我已经创建了键盘布局 但不知道如何包含在 EditText 中键入一些单词时出现的建议 例如 如果我写 在 中 已知 和 已知 将显示在建议中 所以我的问题是 1 如何在 Android 软键盘中包含建议
  • 将文本文件写入 SD 卡失败

    我遇到了一个奇怪的问题 我的应用程序可以将一个简单的文本文件写入 SD 卡 有时它对某些人有效 但对其他人无效 我不知道为什么 对于某些人来说 如果他们输入一些字符 例如 在文件等中 我似乎无法重现它 因为我没有遇到任何麻烦 但这是处理文件
  • 设置android中按钮的透明度

    我想在android中制作具有不同透明度级别的按钮 我使用过 android color transparent 但它使按钮 100 透明 我需要一个 70 透明的按钮 这是我正在处理的 XML 代码
  • 如何从 Activity 的包含类启动 Intent

    我正在寻找从不是 Activity 而是 Activity 类的包含对象的类启动意图的最佳方法 例如活动类 Class MainActivity extends ListActivty TestLauncher tester 以及我想从中开
  • JPA2+Hibernate 3.6.0 中的 JTA 还是 LOCAL 事务?

    我们正在重新思考我们的技术堆栈 以下是我们的选择 由于应用程序的复杂性等 我们不能没有 Spring 和 Hibernate 我们还从 J2EE 1 4 迁移到 Java EE 5 技术栈 Java EE 5 JPA 2 0 我知道Java
  • DocumentBuilder 解析产生无效字节 2 of 4 字节 UTF-8 序列错误

    我正在尝试解析包含字符串的字节数组Impresi n in XML final DocumentBuilderFactory builderFactory DocumentBuilderFactory newInstance final D
  • Ionic 3 Deeplinking - 从 URL 启动应用程序

    我正在使用 Ionic 开发一个跨平台应用程序 当尝试实现深度链接时 我安装了一个名为 Ionic Native 插件深层链接 我运行了这些命令 ionic cordova plugin add ionic plugin deeplinks

随机推荐