在iPhone上,应用程序可以将新协议名称与自身关联,这样,如果用户在Web浏览器中键入“myapp:// xxx”,它就会调用该应用程序。
BlackBerry或Android可以吗?
答案 0 :(得分:6)
对于Android,请看一下这个问题的答案:
Android Respond To URL in Intent
以及以下页面,尤其是关于本页的android:scheme的“数据类型”部分:
http://developer.android.com/guide/topics/intents/intents-filters.html
对于您的应用,您可以在AndroidManifest.xml中添加以下内容:
<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:scheme="myapp"></data>
</intent-filter>
答案 1 :(得分:1)
对于BlackBerry - 是的,在某种程度上,请查看net.rim.device.api.browser.plugin包(JDE 4.0.0及更高版本)。它允许您为给定的MIME类型和放大器指定回调接口。其他参数。
基本上,您将BrowserContentProvider子类化以指示您要接收的MIME类型,并向BrowserContentProviderRegistery注册。
我对此没有太多经验 - 但看起来您可能仅限于提供自定义渲染功能 - 这对您来说可能没问题。我不确定你做其他任何事情的能力是多么有限 - 你必须尝试一下。
答案 2 :(得分:-3)
对于运行4.0或更高版本的黑莓设备(所有“轨迹球”设备,最多运行至少4.2),您只需要以下代码:
// Get the default sessionBrowserSession
net.rim.blackberry.api.browser.browserSession = Browser.getDefaultSession();
// now launch the URL
browserSession.displayPage("http://www.BlackBerry.com");
由于这是一个非常可重复使用的代码段,我建议将它放在以下函数中:
public static void loadURL(String url)
{
try{
net.rim.blackberry.api.browser.BrowserSession bSession = net.rim.blackberry.api.browser.Browser.getDefaultSession();
bSession.displayPage(url);
bSession.showBrowser();
}
catch (Exception ex){
System.out.println("Error loading url [" + url + "]: " + ex.getMessage());
}
}