快看过来!Android开发 怎样能获取到浏览器上网痕迹的数据?

梅明子 2016-12-20 09:49:39


看图,就是一些网址浏览历史记录,大神们怎么获取呀?能写个代码看看么?新手-。-
...全文
1121 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuzhongyiqiankun 2018-10-30
  • 打赏
  • 举报
回复
引用 16 楼 class_brick 的回复:
Cursor mCursor = getContentResolver().query(Uri.parse("content://browser/bookmarks"),null,null,null,null);
while(mCursor.moveToNext()){
String title = mCursor.getString(mCursor.getColumnIndex("title"));//标题
String url= mCursor.getString(mCursor.getColumnIndex("url"));//网址
String date = mCursor.getString(mCursor.getColumnIndex("date"));//日期
}

你好,这种方法现在还能获取到浏览器访问过的网页信息吗?我试了下没获取到啊,权限在manifest也里面配置了。
xx0013 2018-04-19
  • 打赏
  • 举报
回复
引用 16 楼 class_brick 的回复:
Cursor mCursor = getContentResolver().query(Uri.parse("content://browser/bookmarks"),null,null,null,null); while(mCursor.moveToNext()){ String title = mCursor.getString(mCursor.getColumnIndex("title"));//标题 String url= mCursor.getString(mCursor.getColumnIndex("url"));//网址 String date = mCursor.getString(mCursor.getColumnIndex("date"));//日期 }
正解,调用系统api就行了
class_brick 2016-12-26
  • 打赏
  • 举报
回复
Cursor mCursor = getContentResolver().query(Uri.parse("content://browser/bookmarks"),null,null,null,null); while(mCursor.moveToNext()){ String title = mCursor.getString(mCursor.getColumnIndex("title"));//标题 String url= mCursor.getString(mCursor.getColumnIndex("url"));//网址 String date = mCursor.getString(mCursor.getColumnIndex("date"));//日期 }
梅明子 2016-12-23
  • 打赏
  • 举报
回复
引用 11 楼 ink_s 的回复:
[quote=引用 10 楼 baidu_23478311 的回复:] [quote=引用 9 楼 ink_s 的回复:] 你自带浏览器和uc浏览器不都一样嘛 都是人家的浏览器
你不懂就不要乱说![/quote] 难道不是吗?你能确定小米的自带浏览器和华为的一样? 就算是一样 你确定人家就是用的数据库而不是xml存储? 就算你能得到数据,那有几个人使用自带浏览器的? 还有 自带浏览器难带就不是app了吗 ?[/quote] 都说了是自带浏览器,自带好吗!没错,虽然也是别人的,你说像UC,QQ,那些获取不到我还相信,自带浏览器你确定获取不到?我虽然技术不行,或远不如你,我也说了我是新手,但麻烦你不要一上来就喷好吗!?
ink_s 2016-12-23
  • 打赏
  • 举报
回复





这是华为和索尼的自带浏览器,明显就不一样嘛
ink_s 2016-12-23
  • 打赏
  • 举报
回复
还有 我哪个地方说的不是自带浏览器了?
ink_s 2016-12-23
  • 打赏
  • 举报
回复
引用 12 楼 baidu_23478311 的回复:
[quote=引用 11 楼 ink_s 的回复:] [quote=引用 10 楼 baidu_23478311 的回复:] [quote=引用 9 楼 ink_s 的回复:] 你自带浏览器和uc浏览器不都一样嘛 都是人家的浏览器
你不懂就不要乱说![/quote] 难道不是吗?你能确定小米的自带浏览器和华为的一样? 就算是一样 你确定人家就是用的数据库而不是xml存储? 就算你能得到数据,那有几个人使用自带浏览器的? 还有 自带浏览器难带就不是app了吗 ?[/quote] 都说了是自带浏览器,自带好吗!没错,虽然也是别人的,你说像UC,QQ,那些获取不到我还相信,自带浏览器你确定获取不到?我虽然技术不行,或远不如你,我也说了我是新手,但麻烦你不要一上来就喷好吗!? [/quote] 我有喷吗 我哪句话喷了? 还有我哪句话说了自带浏览器就获取不到了? 只要他历史记录不是放到服务器上的,基本上都能获取的好吧! 就算是 UC QQ 如果他本地数据库是公开的,只要找到数据库一样可以获取,XML 什么的只要找到文件地址也能获取。 主要的问题是你能获取到UC的了,但是用户用的QQ呢,用的其它浏览器呢 如果是本地浏览器,你解决了小米的,那用户用的是华为呢,而且有几个用户用自带浏览器的。
梅明子 2016-12-21
  • 打赏
  • 举报
回复
引用 1 楼 YXTS122 的回复:
把每次输进去的网址保存在数据库里啊
我是要获取啊!怎么还要保存呢啊!
头发还没秃a 2016-12-21
  • 打赏
  • 举报
回复
引用 7 楼 baidu_23478311 的回复:
[quote=引用 5 楼 zhumj_zhumj 的回复:]

    @Override
    protected void addListener() {
        mWebview.setWebViewClient(new WebViewClient());
    }

    private class WebViewClient extends android.webkit.WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url){
                //这里不管是在页面点击跳转或者自己 mWebview.loadUrl(Url);  
                //在页面加载完成之后都会返回当前页面的URL
        }
    }
希望能帮到你
谢谢你的回答,是获取系统自带浏览器的,好像在数据库是不是可以获取到呢?[/quote] mWebView.copyBackForwardList()这个是集合 mWebView.copyBackForwardList().getItemAtIndex(position).getUrl();position是int类型。这个是获取url。 这个最好你自己去维护,把浏览过的URL放入自己的数据库
梅明子 2016-12-21
  • 打赏
  • 举报
回复
引用 5 楼 zhumj_zhumj 的回复:

    @Override
    protected void addListener() {
        mWebview.setWebViewClient(new WebViewClient());
    }

    private class WebViewClient extends android.webkit.WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url){
                //这里不管是在页面点击跳转或者自己 mWebview.loadUrl(Url);  
                //在页面加载完成之后都会返回当前页面的URL
        }
    }
希望能帮到你
谢谢你的回答,是获取系统自带浏览器的,好像在数据库是不是可以获取到呢?
梅明子 2016-12-21
  • 打赏
  • 举报
回复
引用 4 楼 ink_s 的回复:
你这个问题问的就像 我写个app要如何获得该手机上的qq聊天记录,如何获得微信支付密码一样,只要你收购了腾讯,让他们提供接口就行了。
我去,好吧,是我的错,是自带浏览器,不是那些
头发还没秃a 2016-12-21
  • 打赏
  • 举报
回复

    @Override
    protected void addListener() {
        mWebview.setWebViewClient(new WebViewClient());
    }

    private class WebViewClient extends android.webkit.WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url){
                //这里不管是在页面点击跳转或者自己 mWebview.loadUrl(Url);  
                //在页面加载完成之后都会返回当前页面的URL
        }
    }
希望能帮到你
ink_s 2016-12-21
  • 打赏
  • 举报
回复
你这个问题问的就像 我写个app要如何获得该手机上的qq聊天记录,如何获得微信支付密码一样,只要你收购了腾讯,让他们提供接口就行了。
ink_s 2016-12-21
  • 打赏
  • 举报
回复
引用 2 楼 baidu_23478311 的回复:
[quote=引用 1 楼 YXTS122 的回复:] 把每次输进去的网址保存在数据库里啊
我是要获取啊!怎么还要保存呢啊![/quote] 把那些浏览器都收购了呀,什么qq浏览器,uc浏览器,火狐浏览器 ,统统收购了,然后就好办了,让他们更新浏览器,加上浏览器记录接口然后开放给你。 如果你想让那些不更新浏览器(不更新浏览器没有接口还是读取不到)的必须更新,那么再把手机厂商收购了,什么小米呀华为呀谷歌呀索尼呀,统统收购,然后让他们更新系统,如果检测到那些手机没有更新浏览器,就强制更新要不就不能开机使用。
ink_s 2016-12-21
  • 打赏
  • 举报
回复
引用 10 楼 baidu_23478311 的回复:
[quote=引用 9 楼 ink_s 的回复:] 你自带浏览器和uc浏览器不都一样嘛 都是人家的浏览器
你不懂就不要乱说![/quote] 难道不是吗?你能确定小米的自带浏览器和华为的一样? 就算是一样 你确定人家就是用的数据库而不是xml存储? 就算你能得到数据,那有几个人使用自带浏览器的? 还有 自带浏览器难带就不是app了吗 ?
梅明子 2016-12-21
  • 打赏
  • 举报
回复
引用 9 楼 ink_s 的回复:
你自带浏览器和uc浏览器不都一样嘛 都是人家的浏览器
你不懂就不要乱说!
ink_s 2016-12-21
  • 打赏
  • 举报
回复
你自带浏览器和uc浏览器不都一样嘛 都是人家的浏览器
YXTS122 2016-12-20
  • 打赏
  • 举报
回复
把每次输进去的网址保存在数据库里啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧