获取浏览器的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; ...
随机推荐
- dojo/Deferred类和dojo/promise类的使用
参考博客:https://blog.csdn.net/blog_szhao/article/details/50220181 https://dojotoolkit.org/docume ...
- vmware:使用.zip文件在vmware中安装操作系统
问题描述: 之前在vmware中安装系统时,全部都是加载的.iso文件来实现.后面同事给了一个zip包,解压后是".vmdk"等一系列具体的文件.一时间不知道怎么安装系统了,搜网页 ...
- java基础面试题:请说出作用域public,private,protected,以及不写时的区别
不写任何作用域(即访问权限)表示friendly public 公共,权限最大,作用域最大,在类内部.同一package.子孙类.其他package都可以访问 protected保护,在类内部.同一p ...
- java基础面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
package com.swift; public class Switch_Test { public static void main(String[] args) { /* * switch语句 ...
- 在React中使用Redux数据流
问题:数据流是什么呢?为什么要用数据流? 答案:1.数据流是我们的行为与相应的抽象 2.使用数据流帮助我们明确了行为的对应的响应 问题: React与数据流的关系 1.React是纯 V 层的前端框架 ...
- Uva 组装电脑 12124 - Assemble
主要运用二分法查找最优解 #include<iostream> #include<string> #include<vector> #include<map& ...
- JZOJ 5838. 旅游路线 最大子段和
5838. 旅游路线 Time Limits: 1000 ms Memory Limits: 131072 KB Detailed Limits Goto ProblemSet Descrip ...
- char* 与char[]区别
[转] 最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误.一时也不能说得很明白,网上也 ...
- 4 Template层-CSRF
1.csrf 全称Cross Site Request Forgery,跨站请求伪造 某些恶意网站上包含链接.表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站 ...
- 不同storyboard间跳转
小项目中用到storyboard,可以按照模块来新建多个sb. 以下是代码实现跳转实现: UIStoryboard *anSb=[UIStoryboard storyboardWithName:@&q ...