WebView中运用HTML打开本地应用
来源:互联网 发布:mac玩游戏lol略卡 编辑:程序博客网 时间:2024/05/04 10:51
WebView中使用HTML打开本地应用
终于达到目的了,在其他应用中点击链接即可把自己的应用打开
最近在做一个Android项目,其中有个需求是在WebView中使用HTML打开
本地应用,本来如果WebView是自己项目的话,那很简单,如下所示:
Java类中在WebView中添加JS调用接口,让JS代码可以调用到Java代码即可:
public class Test extends Activity{private Handler mHandler = new Handler();@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.test);WebView mView = (WebView)findViewById(R.id.webview);mView.getSettings().setJavaScriptEnabled(true);mView.loadUrl("file:///android_asset/index.html");mView.addJavascriptInterface(new OpenApp(), "openApp");}class OpenApp{public void open(final String pkgName) {mHandler.post(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubstartActivity(getApplicationContext().getPackageManager().getLaunchIntentForPackage(pkgName));}});}}}然后在HTML中的JS代码里使用window.openApp.open(pkgName);即可。
但是很不幸的是,这个WebView是别人应用里,我所能做的只是提供一个HTML页面地址,咋办呢?
突然想到可以将自己的应用加入到系统的分享列表里,那么同样道理就可以去利用系统打开链接时
的表现来做文章,因为不管是哪一个都只是一个系统定义的动作而已。
于是做了如下尝试
在manifest中为自己应用中的特定activity配置如下:
<activity android:name=".Test" android:screenOrientation="portrait"> <intent-filter><action android:name="android.intent.action.VIEW"> </action> <category android:name="android.intent.category.DEFAULT"> </category> <category android:name="android.intent.category.BROWSABLE"> </category> <data android:host="path" android:scheme="http"></data> </intent-filter> </activity>
<a href="http://path">点击打开程序</a>
可是出现的效果并没有达到自己想要的那样
就像图中的那样,它并没有直接打开我的应用WallPaperDemo,而是出现在列表中,
不过它确实也应该是这样表现的,当点击http开头的链接时,系统会把它当作是一个
标准的URL,从而把能够处理它的应用全给出来了。
那么如何才能直接将自己的应用打开呢?
还是继续这个思路,既然点击链接的时候我们应用可以响应,而且之所以会出现一个列表
那是因为别人也能处理,那么如果这个链接的协议只有我们自己的应用能够处理呢,应该
就会直接打开了。
ok,做出以下调整
<activity android:name=".Test" android:screenOrientation="portrait"> <intent-filter><action android:name="android.intent.action.VIEW"> </action> <category android:name="android.intent.category.DEFAULT"> </category> <category android:name="android.intent.category.BROWSABLE"> </category> <data android:host="path" android:scheme="myapp"></data> </intent-filter> </activity>
<a href="myapp://path">点击打开程序</a>
终于达到目的了,在其他应用中点击链接即可把自己的应用打开
转自-----http://www.myexception.cn/web/582162.html
0 0
- WebView中运用HTML打开本地应用
- WebView中使用HTML打开本地应用
- WebView中使用HTML打开本地应用
- WebView中使用HTML打开本地应用
- Android在网页下(WebView中运用HTML)点击按钮打开本地手机应用程序
- android使用webView打开本地html文件
- 使用HTML打开本地应用
- 【项目中---WebView】Webview打开本地图片文件选择解决方案
- iOS中webview加载本地html文件
- webView打开本地sdcard上html文件的方法:
- webView打开本地/sdcard上html文件的方法
- WebView 打开本地相册
- webview本地打开
- webview 在自己应用中打开网页
- WebView加载本地HTML
- webview 加载本地html
- WebView浏览本地html
- Android中WebView在加载网页的时候,怎样应用本地的CSS效果?就是说怎样把本地的CSS嵌入到HTML中
- 如何打造一台树莓派一体机
- Spring中的IOC和AOP
- 用WinRAR解压7z.001,7z.002……格式的文件
- Apache Lucene 几种分词系统
- 【获取系统信息】4,获取CPU名称、主频
- WebView中运用HTML打开本地应用
- 字符串扩展
- word borders并不包含item的定义
- java,缓存,memcached,reids,c,android 技术视频
- 关于二进制取色的方法
- easyui之控件Tree
- Android五大布局
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 设置静态内容缓存时间