qpython3打开app_Android QPython3 扩展:调用其他App打开文件

本文档介绍了如何使用QPython3的扩展功能OpenFile来调用Android设备上的其他应用程序打开文件。详细步骤包括在AndroidManifest.xml中添加权限,创建OpenFile.java活动以处理文件打开操作,以及在QPythonSupport的__init__.py中添加函数以供调用。同时,提供了一个名为MineType.ini的配置文件,用于设置不同文件类型的MIME类型。用户可以通过修改这个文件来支持更多类型的文件打开。
摘要由CSDN通过智能技术生成

#需要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文件

8b22ab26ef493287a87a82da4f4b89c6.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值