[提问] Android系统中,如何关联文件类型?

--纯技术领域-- 2011-10-14 02:42:29
如何实现自定义文件类型和我的应用进行关联呢?
如windows下的.txt文件,双击它就会用记事本打开.

也就是需要在文件管理器中点击文件时,就自动调用我的应用去打开这个文件,不是弹出选择用哪个程序去打开

PS:文件类型是自己定义的,不在MIME表里.
...全文
642 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenzheng38 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fishmen26 的回复:]
那要点击了应用之后那个 intent 发出的intent filter 里面有你定义的MINE type才行
[/Quote]

对呀,intenet有个方法setType的,然后ChooserActivity就会选择相应的应用程序进行打开
七夜_雪 2011-10-14
  • 打赏
  • 举报
回复
要点1,Intent
要点2,MIMETYPE
hotkarriver 2011-10-14
  • 打赏
  • 举报
回复
new Intent(action) 或者 new Intent(action,uri)
其中比方说,action就是记事本的manifest定义的action
new Intent(action,uri)
是打开uri,比如uri是www.baidu.com,这是action是intent.ACTION_VIEW就是用browser去打开百度而不是其它浏览器
jgshwj 2011-10-14
  • 打赏
  • 举报
回复
这个需求没法实现,文件管理器一般有自己的文件关联数据库,对未知的类型一般不做处理,除非文件关联器对未知应用都有一套统一的处理方案,如发出广播等,让第三方应用处理。 建议用你的应用程序实现你所需的文件类型的扫描操作和显示。
fishmen26 2011-10-14
  • 打赏
  • 举报
回复
那要点击了应用之后那个 intent 发出的intent filter 里面有你定义的MINE type才行
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fishmen26 的回复:]
启动程序只有一种方法。即startActivity(intent)

以哪种方式启动与intent有很大关系。如果你想让具有相同功能的apk ,都提供给用户选择,即可用intent filter去设置这个intent希望被apk接收的条件。
如果你想打开指定的一个apk去处理这个intent,就设死这个intent。
比如
Intent intent = new Intent(this,……
[/Quote]

可能是我没有说清楚,文件管理器不是我自己写的.

如果文件管理器是我写的,那调用就太简单了,但是要适应各种文件管理器,这个有办法吗,我不可能去修改每种文件管理器的代码的
fishmen26 2011-10-14
  • 打赏
  • 举报
回复
启动程序只有一种方法。即startActivity(intent)

以哪种方式启动与intent有很大关系。如果你想让具有相同功能的apk ,都提供给用户选择,即可用intent filter去设置这个intent希望被apk接收的条件。
如果你想打开指定的一个apk去处理这个intent,就设死这个intent。
比如
Intent intent = new Intent(this, 指定的activity.class);
startActivity(intent);
suv3389 2011-10-14
  • 打赏
  • 举报
回复
这个好象要在 操作系统 中实现的

建议你改变下思路,想在你的程序中实现估计困难,估计跟注册表有关系
《APK+Dex文件反编译及回编译工具》 简称:APKDB 是一款,针对Android OS系统的APK程序,直接反编译修改的工具。 APKDB集合了当今最强悍,最犀利的APK及Dex文件编译工具; 正常安装后,它直接在【鼠标右键】创建快捷菜单; 非常方便汉化工作者,对APK或Dex文件进行简易的反编译回编译操作; ___________________________________________________________________ 功能特性 · 对*.Apk 文件 反编译 及 回编译 用于汉化修改 · 对*.Dex 文件 反编译 及 回编译 或查看详细源代码 · 对*.Apk 文件 批量反编译 及 回编译 · 对*.Apk、*.Zip 文件执行签名 · Windows下直示Apk件自身图标 声明 1.本工具必须先安装JAVA7; 2.如需显示APK自身图标必须先安装.NET Framework4。 ___________________________________________________________________________________________ 下载地址 百度云下载:http://idoog.cn/apkdb | http://pan.baidu.com/s/1eQoZtmE MEGA下载: http://idoog.me/apkdb 谷歌云端硬盘:http://goo.gl/IUzIlW 官方网站:http://www.idoog.me 嵌入式汉化教程:http://idoog.cn/apk_hh/ 或 http://idoog.me/apk_hh/ ____________________________________________________________________________________________ 使用说明: 本工具执行安装后,直接在【鼠标右键】生成快捷键,自动关联APK、DEX、 Odex、Zip文件。只要在电脑任意非C盘根目录,【鼠标右键】点击相关文件,即 可编译操作。如,反编译APK及DEX文件,反编译后生成可编译的同名文件夹, 汉化修改完成后,对文件夹点击【鼠标右键】根据文件夹反编译前的文件类型, 现在【回编译XXX文件】即可! 同时,针对apk和zip文件增加签名操作,只要【鼠标右键】点击,选择 【签名XX文件】即可!签名前无需删除原来的【META-INF】签名数据。本工具会 判别apk还是zip并自动删除签名数据。 ____________________________________________________________________________________________ 常见问题: 1、被杀毒软件拦截误杀(安装前,关闭杀毒软件) 2、没有管理员权限(右键以管理员身份运行C:\Apkdb\安装.exe) 或者,使用兼容模式 (右键-属性-兼容性-兼容模式[Windows XP SP3]) 以及 特权等级 勾选“以管理员身份运行此程序” 3、UAC限制 安装过程没有写入注册表提示,直接显示安装完成 (右键 我的电脑-管理-本地用户和组-用户-Administrator(√ 密码永不过期) 4、安装成功,安装过程有写入注册表提示,但是右键APK 没有菜单 (检查是不是安装了PC版的手机管理工具,关联了APK文件) 5、安装后无法编译文件,提示JAVA 错误 (未安装JAVA平台,或安装错误。请卸载后重启电脑,重装再次重启电脑) 6、安装成功后,编译文件提示 “Can’t create the output directory\\****\smali” (这是文件夹 没有写入权限。检查是否直接在硬盘分区根目录编译了? Apktool不能在磁盘分区。如:C盘 D盘 根目录! 如果不是根目录,请检查apk文件名称是不是有问题。如,文件名结尾空格。) 7、能反编译,但无法回编译 (可能是被旧版本的Apktool编译过,试试用旧版的反编译,用新版的回编译) 8、回编译出错问题: (1.提示 strings.xml 最后一行错误,检查是否符号错误; (2.提示 strings.xml 最顶部含文代码首行错误,编码格式不对,转换成 UTF-8; (3.提示 public.xml 出错,检查改动过的 arrays.xml 是否代码有错误的地方; (4.其他错误,检查是否复制aapt.exe 文件到系统目录如:C:\Windows\System32\aapt.exe 9、安装过程提示 systeminfo 提示“不是内部或外部命令” 请在系统变量【path

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧