0

我的 Android 应用程序需要在客户端代码和 WebKit 会话之间来回切换。在某些操作中,我将用户重定向到我通过 WebKit 加载的不同网站。我想给用户一个简单的方法来离开 WebKit 会话并跳回我的应用程序来做另一个操作或修改最后一个。我不想依赖浏览器的 BACK 按钮,因为如果用户在网站上进行了任何重要的页面导航并且必须退出与我的应用程序的会话,这可能会给用户带来负担。

我想在用户想要返回我的应用程序时单击的地方放置一个按钮或链接。请注意,我不是在问是否可以将元素注入 WebKit 会话,因为我很确定 WebKit 不会允许这样做。

有任何想法吗?此外,欢迎在 WebKit 启动之间维护状态信息的任何提示。我知道 Activity 构造函数 Bundle 参数,但如果有任何细微差别我需要注意,请告诉我。

——罗施勒

4

1 回答 1

1

(当您说“WebKit”时,我假设您指的是默认系统浏览器,而不是可嵌入的 WebView 类。)

它可以通过自定义 URL 方案来完成。一个示例自定义 URl 方案是:

myapp://somedata:someotherdata

您可以注册要为此方案调用的应用程序:

<activity ....>
    <intent-filter>
        <data android:scheme="myapp"/>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
    </intent-filter>
</activity>

然后在您的浏览器中,只需myapp://像使用任何其他http://url 一样引用(通过按钮、链接、javascript ..)。您还可以在方案之后添加一些数据,例如myapp://some:data,您可以通过getIntent().getData().

注意:自定义方案是全局的 - 确保您不会与其他应用程序发生冲突。最好使用完整的包名com.mypackage.myapp://

于 2011-04-25T21:47:46.460 回答