浏览 5274 次
锁定老帖子 主题:如何让浏览器调用你的程序来打开资源。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-03
1)用户在当前页面点击->2)浏览器获取新的URL->3)浏览器转到新的URL。现在,假设我们有一个pdf的阅读程式,他希望给用户提供下面的流程,希望改变上面流程中的3),变成: 3)浏览器告知pdf阅读器URL->4)pdf阅读器打开URL. 完整的流程就变成了: 1)用户在当前页面点击->2)浏览器获取新的URL->3)浏览器告知pdf阅读器URL->4)pdf阅读器打开URL. 应用Android sdk中的intent-fiter,我们能够实现上面的流程。 代码一: <activity android:name=".Downloader" android:theme="@android:style/Theme.Dialog" android:configChanges="orientation|keyboardHidden"> <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="http" /> <data android:host="*" /> <data android:pathPattern=".*\\.pdf" /> </intent-filter> </activity> </application> 代码二: public class Downloader extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Intent intent = getIntent(); final Uri uri = intent.getData(); //uri 就是传来的uri。这里可以加入对传入的uri的处理。 } } 代码一创建了一个Activity,intent-filter设置说明,如果浏览器浏览到结尾是pdf的文件,就调用Downloader Activity。在代码二中,我们通过intent.getData获取浏览器要访问的uri.接下来,系统可以对uri进行处理了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |