获取浏览器的homepage
主要知识点:
跨进程访问数据
首先修改浏览器源码:
BrowserSettings.java
private static String getSDMCDefaultSharedPreferencesName(Context context) {
return context.getPackageName() + "_preferences";
}
private BrowserSettings(Context context) {
mContext = context.getApplicationContext();
/*sky modify just for test*/
//mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext); //因为这个默认的mode是MODE_PRIVATE
mPrefs = mContext.getSharedPreferences(getSDMCDefaultSharedPreferencesName(mContext),
Context.MODE_WORLD_READABLE);//修改为可读
/*sky modify over*/
mAutofillHandler = new AutofillHandler(mContext);
mManagedSettings = new LinkedList<WeakReference<WebSettings>>();
mCustomUserAgents = new WeakHashMap<WebSettings, String>();
mAutofillHandler.asyncLoadFromDb();
BackgroundHandler.execute(mSetup);
}
然后就是跨APK访问数据了:
Context otherAppsContext = null;
try{
otherAppsContext = context.createPackageContext("com.android.browser",0);
}catch (Exception e){
Log.i("BootReceiver-BootBrowser", "NameNotFoundException");
}
try{
//com.android.browser_preferences.xml
SharedPreferences mPrefs = otherAppsContext.getSharedPreferences("com.android.browser_preferences",Context.MODE_PRIVATE);
String homepage = mPrefs.getString("homepage","hahahaha");
Log.i("BootReceiver-BootBrowser","homepage="+homepage);
}catch(Exception e){
Log.i("BootReceiver-BootBrowser", "Exception#####");
}
//隐式访问浏览器APK
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//Uri content_url = Uri.parse("http://www.baidu.com");
Uri content_url = Uri.parse(homepage);
intent.setData(content_url);
context.startActivity(intent);
//显式访问浏览器APK
Intent intent = new Intent();
//intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName cn = new ComponentName("com.android.browser", "com.android.browser.BrowserActivity");
intent.setComponent(cn);
context.startActivity(intent);
参考:
跨apk访问SharedPreferences
http://www.cnblogs.com/leaven/archive/2012/07/28/2613291.html
获取浏览器的homepage的更多相关文章
- 【转】javascript浏览器参数的操作,js获取浏览器参数
原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...
- js get browser vertion (js获取浏览器信息版本)
1问题:js get browser vertion (js获取浏览器信息版本) 2解决方案 Copy this script into your JavaScript files. It works ...
- js获取浏览器高度
常用: JS 获取浏览器窗口大小 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // 获取窗口宽度 if (window.innerWidth) winWidth = ...
- JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...
- $(window).height()获取浏览器高度不准
以前在开发的时候这样$(window).height()获取浏览器的高度一致不觉得有什么不对, 今天在做java开发的时候不知道为什么获取的高度很明显不对. 后来无意中想到一个文档模式不对的原因,于是 ...
- 原生JS 获取浏览器、窗口、元素等尺寸的方法及注意事项
一.通过浏览器获得屏幕的尺寸 screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去 ...
- jQ获取浏览器window的高宽
Window 对象Window 对象表示浏览器中打开的窗口.JavaScript 层级中的顶层对象,表示浏览器窗口.如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创 ...
- JS获取浏览器名和版本信息
Navigator 对象包含有关浏览器的信息. Navigator 对象属性和方法: <html> <head> <title>JS完整获取浏览器信息</ti ...
- JS获取浏览器高度 并赋值给类
在给网站做轮播焦点图的时候,如果需要全屏的话,可以用下面的jQuery来获取浏览器高度,然后赋值给类. $(window).load(function () { var maxHeight = 0; ...
随机推荐
- tensorfow install error
http://stackoverflow.com/questions/33655731/error-while-importing-tensorflow-in-python2-7-in-ubuntu- ...
- 问题002:我们要使用的Java是哪个版本的?什么是JVM、JRE、JDK、IDE、API?
三个版本:1.java SE 标准版 2.java EE企业版 3.Java ME 小型版本 JVM (java virtual machine) java虚拟机 JRE(java runtime e ...
- 洛谷P1048采药
这道题一看就知道是01背包,我门用f[i]来表示时间剩余i时的最大的价值 一共只有两种选择取或者不取,可以得到方程式f[i]=max(f[i],f[i-a[i]]+v[i])(a[i]是表示时间,v[ ...
- 二十、Mysql 连接的使用
Mysql 连接的使用 在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据. 本章节我们将向大家介绍如何使用 MySQL 的 JOIN ...
- linux文件属性之时间戳及文件名属性知识
7 8 9 三列是时间(默认是修改时间) modify 修改时间 -mtime 修改文件内容 change 改变时间 -ctime 文件属性改变 access 访问时间 -atime 访 ...
- 字符编码笔记:ASCII、Unicode和UTF-8
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...
- Http状态码(了解)
一些常见的http状态码 200 - OK,服务器成功返回网页 - Standard response for successful HTTP requests. 301 - Moved Pe ...
- 自定义RadioGrop,支持添加包裹着的RadioButton
控件类: package com.chinaCEB.cebView; import android.annotation.TargetApi; import android.content.Conte ...
- 使用JavaConfig方式-Spring 基础学习
在Spring的使用中,大量采用xml方式配置类之间的关系太过于繁琐(个人这么认为),而在学习了Spring4后发下使用JavaConfig方式来配置这些关系会更加的简单明了. 测试环境 1. Apa ...
- selenium 浏览器驱动下载地址
谷歌浏览器驱动下载http://chromedriver.storage.googleapis.com/index.html 火狐浏览器驱动下载http://ftp.mozilla.org/pub/f ...