#需要QPythonSupport基础窗口

【QPythonSupport/app/src/main/AndroidManifest.xml】添加

android:label="打开文件服务"

android:name=".OpenFile" >

【QPythonSupport/app/src/main/java/czc/qpython/support/OpenFile.java】

package czc.qpython.support;

import android.app.*;

import android.os.*;

import android.widget.*;

import android.text.*;

import java.io.*;

import android.net.*;

import android.content.*;

public class OpenFile extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState) {

Main.requestPermissions(this);

super.onCreate(savedInstanceState);

Intent intent=getIntent();

String path=intent.getStringExtra("path");

String type=intent.getStringExtra("type");

try {

Intent intentO = new Intent();

intentO.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intentO.setAction(Intent.ACTION_VIEW);

intentO.setDataAndType(Uri.fromFile(new File(path)),type);

this.startActivity(intentO);

intentO.createChooser(intentO, "请选择对应的软件打开该文件!");

} catch (Exception e) {

Toast.makeText(this,e.toString(),Toast.LENGTH_LONG).show();

}

OpenFile.this.finish();

}

}

【QPythonSupport/__init__.py】添加

_mineType=eval(open(__file__[:__file__.rfind('/')+1]+'MineType.ini').read())

def OpenFile(Path,Wait=True):

ext=Path[Path.rfind('/')+1:]

ext=ext[ext.rfind('.')+1:].lower()

jsla('startActivity','android.intent.action.VIEW',None,None,{'path':Path,'type':_mineType.get(ext,'*/*')},Wait,'czc.qpython.support','czc.qpython.support.OpenFile')

【QPythonSupport/MineType.ini】

{

"3gp":"video/3gpp",

"3gpp":"video/3gpp",

"7z":"application/x-7z-compressed",

"aac":"audio/x-mpeg",

"amr":"audio/x-mpeg",

"ape":"audio/x-mpeg",

"apk":"application/vnd.android.package-archive",

"avi":"video/x-msvideo",

"asf":"video/x-ms-asf",

"asp":"application/x-asap",

"asx":"video/x-ms-asf",

"au":"audio/basic",

"bz2":"application/x-bzip2",

"bin":"application/octet-stream",

"bmp":"image/bmp",

"c":"text/plain",

"class":"application/octet-stream",

"conf":"text/plain",

"cpp":"text/plain",

"cgi":"magnus-internal/cgi",

"chm":"application/vnd.ms-htmlhelp",

"css":"text/css",

"csv":"text/csv",

"dps":"application/ksdps",

"doc":"application/msword",

"docx":"application/msword",

"dhtml":"text/html",

"dll":"application/octet-stream",

"dmg":"application/octet-stream",

"dms":"application/octet-stream",

"eps":"application/postscript",

"epub":"application/epub+zip",

"et":"application/kset",

"exe":"application/octet-stream",

"flac":"audio/x-mpeg",

"flv":"video/x-msvideo",

"gif":"image/gif",

"gps":"application/x-gps",

"gtar":"application/x-gtar",

"gz":"application/x-gzip",

"h":"text/plain",

"htm":"text/html",

"html":"text/html",

"hlp":"application/winhlp",

"hqx":"application/mac-binhex40",

"ico":"application/octet-stream",

"jar":"application/java-archive",

"java":"text/plain",

"jpeg":"image/jpeg",

"jpg":"image/jpeg",

"js":"application/x-javascript",

"log":"text/plain",

"lrc":"text/plain",

"m3u":"audio/x-mpegurl",

"map":"magnus-internal/imagemap",

"mht":"message/rfc822",

"mhtml":"message/rfc822",

"mid":"audio/midi",

"midi":"audio/midi",

"m4a":"audio/mp4a-latm",

"m4u":"video/vnd.mpegurl",

"m4v":"video/x-m4v",

"mov":"video/quicktime",

"mp2":"audio/x-mpeg",

"mp3":"audio/x-mpeg",

"mp4":"video/mp4",

"mpeg":"video/mpeg",

"mpg":"video/mpeg",

"ogg":"audio/ogg",

"pcx":"image/x-pcx",

"pda":"image/x-pda",

"pdf":"application/pdf",

"png":"image/png",

"pnz":"image/png",

"pot":"application/vnd.ms-powerpoint",

"pps":"application/vnd.ms-powerpoint",

"ppsx":"application/vnd.ms-powerpoint",

"ppt":"application/vnd.ms-powerpoint",

"pptx":"application/vnd.ms-powerpoint",

"ps":"application/postscript",

"pub":"application/x-mspublisher",

"py":"text/plain",

"pyw":"text/plain",

"qt":"video/quicktime",

"qti":"image/x-quicktime",

"qtif":"image/x-quicktime",

"ra":"audio/x-pn-realaudio",

"ram":"audio/x-pn-realaudio",

"rgb":"image/x-rgb",

"rm":"audio/x-pn-realaudio",

"rmm":"audio/x-pn-realaudio",

"rnx":"application/vnd.rn-realplayer",

"rp":"image/vnd.rn-realpix",

"rt":"text/vnd.rn-realtext",

"rtf":"application/rtf",

"rar":"application/x-rar-compressed",

"rmvb":"audio/x-pn-realaudio",

"swf":"application/x-shockwave-flash",

"swfl":"application/x-shockwave-flash",

"tar":"application/x-tar",

"taz":"application/x-tar",

"tgz":"application/x-tar",

"tif":"image/tiff",

"tiff":"image/tiff",

"ttf":"application/octet-stream",

"txt":"text/plain",

"vcd":"application/x-cdlink",

"vcf":"text/x-vcard",

"viv":"video/vivo",

"vivo":"video/vivo",

"wav":"audio/x-wav",

"wma":"audio/x-ms-wma",

"wmv":"audio/x-ms-wmv",

"wps":"application/kswps",

"wri":"application/x-mswrite",

"x-gzip":"application/x-gzip",

"xht":"application/xhtml+xml",

"xhtm":"application/xhtml+xml",

"xhtml":"application/xhtml+xml",

"xla":"application/vnd.ms-excel",

"xlc":"application/vnd.ms-excel",

"xll":"application/x-excel",

"xlm":"application/vnd.ms-excel",

"xls":"application/vnd.ms-excel",

"xlsx":"application/vnd.ms-excel",

"xlt":"application/vnd.ms-excel",

"xlw":"application/vnd.ms-excel",

"xml":"text/xml",

"z":"application/x-compress",

"zip":"application/zip"

}

【QPythonSupport/说明.txt】添加

OpenFile(Path,Wait=True)

调用其他App打开文件(路径,等待=是)

可以修改MineType.ini文件

视频:https://www.bilibili.com/video/BV185411H7L7

qpython3打开app_Android QPython3 扩展:调用其他App打开文件相关推荐

  1. 【android】调用系统app打开word文档遇到的问题

    app突然点击word文件下载后没反应,搞了半天居然是少了个"-"的问题,但是以前都没问题,突然就打不开了,网上也找不到答案: 原来的type是"application/ ...

  2. Mac pro自动调用相册app打开手机的照片

    最近遇到一个问题很烦,当我们通过usb连接mac pro和iphone的时候,mac pro上的相册app会自动打开,然后就提示要我们解锁app,如果解锁后就会展示相册的照片,在人多的场合,如果有些私 ...

  3. android调用另一app的xml,Android 7.0+调用其他App打开文件

    ​ 近期需要用到读取Android设备外存中的JSON和Word,在前期开发时用于调试的是Android 6.0的米4,当拿到实际应用环境(Android 7.0)时,Android 6.0之后的版本 ...

  4. 在桌面新建xls格式工作表打开提示“与扩展名不匹配,文件可能已损坏或不安全,除非您信任其来源,否则请勿打开,是否仍要打开它?”

    在桌面新建xls格式工作表提示与扩展名不匹配,如图        1. 按 win+r 快捷键打开运行,输入"regedit",回车,打开注册表编辑器        2. 按照如下 ...

  5. php 打开动态链接,php调用com组件-dll文件(动态链接库)

    什么是COM? COM(Component Object Model)组件对象模型,是一种跨应用和语言共享二进制代码的方法.是位于DCE RPC上部的对象指向层(关联服务)定义公共的调用协定以允许用不 ...

  6. 京东开普勒php接口,IOS菜鸟初学第十五篇:接入京东开普勒sdk,呼起京东app打开任意京东的链接-Go语言中文社区...

    我之前写了一篇关于接入京东联盟sdk的文章,但是最近,由于这个原因,如下图 导致需要重新集成京东的sdk,但是由于某种原因,因为android和ios端不统一,android接入的是京东开普勒的SDK ...

  7. ios调用第三方程序打开文件,以及第三方调用自己的APP打开文件

    一.自己的APP调用第三方打开文件 主要是使用 UIDocumentInteractionController 类 并实现 UIDocumentInteractionControllerDelegat ...

  8. 微信扫描二维码调用手机默认浏览器打开APP(APK)应用链接下载

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面给大家介绍这个功能 ? 功能目的 生成微信跳转链接,实现微信内置 ...

  9. Android 插件化原理(一),通过dex文件调用插件app代码

    Android插件化原理,从以下三个问题切入: 什么是插件化 如何实现插件类的加载 如何实现插件资源的加载 什么是插件化 插件化技术最初是源于免安装运行APK的想法,这个免安装的APK就可以理解为插件 ...

  10. java 调用cmd_java打开本地应用程序(调用cmd)---Runtime用法详解

    有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序或者脚本,在cmd窗口执行的命令都可以通过这种方式运行. 例如: packagecn.xm ...

最新文章

  1. Java如何优雅的实现时间控制
  2. 设置 Nuget 本地源、在线私有源、自动构建打包
  3. 2015新东方计算机,2015年同等学力计算机综合模拟(2)
  4. 设计模式之Strategy(策略模式系列1)
  5. 物联网技术或颠覆传统高等教育
  6. Youki的笔记本配置要求
  7. Silverlight实现强壮、可复用的拖放行为
  8. 初识爬虫的那天,我选择了Java!
  9. Ableton Live 11 Suite for Mac(数字音乐音频制作软件)
  10. 【狂神说Redis】5 事务
  11. synchronized的实现原理用法详解
  12. 平衡二叉树(AVL树)深入解读
  13. 奥克兰大学 计算机硕士 GPA,申请奥克兰大学需要GPA成绩吗
  14. safari浏览器的一些兼容性问题总结
  15. 音频信号的基波和谐波介绍
  16. C# 以MP3的格式将录制的音频数据写入文件流
  17. 【CV语义分割】全卷积神经网络FCN(更新ing)
  18. 【正点原子FPGA连载】第三十六章 基于OV5640的PL以太网视频传输实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
  19. python的openpyxl模块合并单元格,浅谈openpyxl库,遇到批量合并单元格的问题
  20. 笔记本电脑连接蓝牙耳机自动断开,或者显示已配对但过几秒自动断开,蓝牙耳机连接不上笔记本电脑

热门文章

  1. python写一个网络测速脚本_网络测速工具——Speedtest
  2. 在 Flutter 中创建一个动画屏幕
  3. android接入微信登录授权提示{errcode:40125,errmsg:invalid appsecret, view more at 。。。解决办法
  4. 自动补全 (自定义)拼音分词器 搜索时注意事项
  5. Android 最常用的设计模式四 安卓源码分析——模板方法(Mould)
  6. 飞跃微信小程序一一新风口新模式,你所了解到的小程序有多少?
  7. js-ramda-介绍和对比lodash及补集库
  8. 在Excel中快速选择数据
  9. 教你语音如何转换成文字的?
  10. ppt矩形里面的图片怎么放大缩小_PPT5题目要求-矩形放大缩小