怎么在android实现通过android 浏览器 apk点击链接打开apk

通过点击浏览器中链接打开Android应用
& &Update:
& &更新了实现方式:
---------我是分割线------------------------------------------------------------------------------
&&&&原文:
&&&&最近遇到这么一个需求:& & & 当用户在手机浏览器中点击一个按钮时,如果手机上已经该应用程序,则直接打开,如果没有安装,则转向应用下载页面。 再详细一点就是:通过点击网页中一个按钮,打开本地某个Activity(如果有的话)或用浏览器打开某个url。
&&&&查了一下文档,Android是支持这个的:&
/guide/topics/manifest/data-element.html
&&&&解释一下文档中的描述:scheme://host:port/path&or&pathPrefix&or&pathPattern
这里面定义的schema+host+port+(path or pathPrefix or pathPattern)能拼凑出一个http链接,包含这个filter的Activity,能处理这个http链接。
点击这个按钮:
&a&id="applink1"&href="/demo/test.php"&打开&/a&
在 /demo/test.php中,直接开始下载xxxx.apk。
Activity代码
给目标Activity增加以下filter:
&intent-filter&&
&&&&&action&android:name="android.intent.action.VIEW"&/&&
&&&&&category&android:name="android.intent.category.DEFAULT"&/&&
&&&&&category&android:name="android.intent.category.BROWSABLE"&/&&
&&&&&&&&&&&&&&&&&&&&
&&&&&data&
&&&&&&&android:host="&"&
&&&&&&&android:path="/demo/test.php"&
&&&&&&&android:scheme="http"&/&&
&/intent-filter&
增加该filter后,该Activity就能处理 http:///demo/test.php。在浏览器中点击“开始”,发起对该URL的请求时,如果本机安装了这个应用,系统就会弹出一个选择,询问你想使用浏览器打开,还是使用该应用打开,如下图:
如果本机没有安装这个应用,则直接会使用浏览器(多个浏览器的话,还需要选择一下)打开&/demo/test.php,浏览器会提示你下载应用,如下图:
更新了实现方式:
http://my.oschina.net/liucundong/blog/354029
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区怎么在android实现通过浏览器点击链接打开apk_百度知道
怎么在android实现通过浏览器点击链接打开apk
提问者采纳
一般是在manifest中声明activity的时候会声明meta data,然后用schama host一类的控制,你可以百度下android meta data就知道了
其他类似问题
为您推荐:
android的相关知识
其他2条回答
在uc下载软件时点击详情,会有软件的下载地址(即链接)
就是一个地址而已!没有什么
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何在WebView中点击链接使用自身打开
最近写一个应用时,用到了WebView,可是却突然遇到问题了,首次加载的网页在自定义的webView中显示,可是当点击网页中的链接,却提示使用系统中别的浏览器打开。这样可不好,
如何将点击链接后的网页也显示呢,于是边Google边查看Android文档,找到找到了一个方法,以下使用解释。
package demo.androidyue.&
import android.app.A&
import android.os.B&
import android.webkit.WebV&
import android.webkit.WebViewC&
public class WebViewDemoActivity extends Activity {&
&&& private WebView webV&
&&& /** Called when the activity is first created. */&
&&& @Override&
&&& public void onCreate(Bundle savedInstanceState) {&
&&&&&&& super.onCreate(savedInstanceState);&
&&&&&&& setContentView(R.layout.main);&
&&&&&&& //初始化WebView&
&&&&&&& this.initWebView();&
&&&& * 初始化WebView
&&& private void initWebView(){&
&&&&&&& //从布局文件中扩展webView&
&&&&&&& this.webView=(WebView)this.findViewById(R.id.webview);&
&&&&&&& //为WebView设置WebViewClient处理某些操作&
&&&&&&& this.webView.setWebViewClient(new webViewClient());&
&&&&&&& //加载地址&
&&&&&&& this.webView.loadUrl(&http://10.0.2.2&);&
&& class webViewClient extends WebViewClient{&
&&&&&& //重写shouldOverrideUrlLoading方法,使点击链接后不使用其他的打开。&
&&& @Override&
&&& public boolean shouldOverrideUrlLoading(WebView view, String url) {&
&&&&&&& view.loadUrl(url);&
&&&&&&& //如果不需要其他对点击链接事件的处理返回true,否则返回false&
关键就是为WebView设置WebViewClient,然后重写shouldOverrideUrlLoading方法即可。其中WebViewClient为WebView的一个辅助类,主要处理各种通知、请求事件。
Last Modified:&
摘自 BossDarcy的专栏
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'怎么在android实现通过浏览器点击链接打开apk_百度知道
怎么在android实现通过浏览器点击链接打开apk
为了实现这个功能可折腾了我好久,先上一份代码,经楼主验证是绝对可以用的而且也比较清晰的代码!(ps:还是先剧透下吧,第三方大部分浏览器无法成功。)点击浏览器中的URL链接,启动特定的App。首先做成HTML的页面,页面内容格式如下:&a href=&[scheme]://[host]/[path]?[query]&&启动应用程序&/a&这一句就可以了。各个项目含义如下所示:scheme:判别启动的App。 ※详细后述host:适当记述path:传值时必须的key
※没有也可以query:获取值的Key和Value
※没有也可以作为测试好好写了一下,如下:&a href=&myapp://jp.app/openwith?name=zhangsan&age=26&&启动应用程序&/a&接下来是Android端。首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动Activity时给予)※必须添加项&intent-filter&&action android:name=&android.intent.action.VIEW&/&&category android:name=&android.intent.category.DEFAULT& /&&category android:name=&android.intent.category.BROWSAB订肌斥可俪玖筹雪船磨LE& /&&data android:scheme=&myapp& android:host=&jp.app& android:pathPrefix=&/openwith&/&&/intent-filter&HTML记述的内容加入&data …/&。其中必须的内容仅scheme,没有其他内容app也能启动。※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。复制代码&intent-filter&&action android:name=&android.intent.action.MAIN&/&&category android:name=&android.intent.category.LAUNCHER& /&&/intent-filter&&intent-filter&&action android:name=&android.intent.action.VIEW&/&&category android:name=&android.intent.category.DEFAULT& /&&category android:name=&android.intent.category.BROWSABLE& /&&data android:scheme=&myapp& android:host=&jp.app& android:pathPrefix=&/openwith&/&&/intent-filter&复制代码这样的话,没有问题。接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的:Intent i_getvalue = getIntent();String action = i_getvalue.getAction();if(Intent.ACTION_VIEW.equals(action)){Uri uri = i_getvalue.getData();if(uri != null){String name = uri.getQueryParameter(&name&);String age= uri.getQueryParameter(&age&);}}这样就能获取到URL传递过来的值了。
其他类似问题
为您推荐:
其他1条回答
你好 这个好像不怎么可以这样操作的吧,这个浏览器是不可能打开这个文件的。一般是你有这个 插件就可以哦。不过现在手机订肌斥可俪玖筹雪船磨QQ浏览器那么的强大,所以使用起来的话应该是可以的吧 现在这个浏览器比较专业了,不像其他的浏览器那么业余,使用起来也比较有劲。再就是 这个浏览器很多的资源使用的哦。我就比较喜欢这实在的浏览器。
android的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 uc浏览器apk 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信