使用服务保持Android浏览器打开

时间:2012-03-28 14:39:32

标签: android browser service

用户打开android浏览器后可以抓住按住home / onpause()以便将浏览器推送到服务或只是从服务启动浏览器以保持打开状态当用户按下家或锁定手机时?

例如,如果用户正在通过浏览器收听互联网流,他们按下主页或锁定屏幕,音频将被切断。但是我想保持浏览器打开,以便音频继续播放。我的印象是服务是实现这一目标的唯一方法。

2 个答案:

答案 0 :(得分:0)

事实上,这在Android中是不可能的(而且应该是)。所有点击和这种性质的东西都应该通过你的应用程序。 基本上,这个想法是你不应该控制应用程序之外的任何东西。相反,您只能接受应用内的点击,并且获得此行为需要使用您自己的实现扩展标准Android浏览器,并让用户使用它。

要了解为什么不能这样做,请考虑它可能带来的各种安全隐患,您可以控制和重新路由其他应用程序的功能以劫持其标准用户体验。在早期版本的Android中有一些情况(你可以google“clickjacking”看到一些),但在任何非恶意应用程序中,你真的不应该这样做。

答案 1 :(得分:0)

我能够在我的应用程序中创建一个webview,并在按下主页按钮(onpause)时启动了一项服务,使得broswer能够在应用程序处于后台或屏幕时继续播放闪存被锁了。因此,虽然我无法在我的应用程序之外使用捕获浏览器,但我能够创建有效的webview来模拟该体验。

我按照here的说明创建了webview,然后提供了服务。允许闪存正常播放的代码段(android:hardwareAccelerated="true")是:

<application android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
清单中的

。它很棒! (然而,api必须是3.0或更高)