gpt4 book ai didi

python - Android 应用程序的子进程

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:20 26 4
gpt4 key购买 nike

我用Python和Kivy制作了一个应用程序。使用 buildozer 生成了一个 apk 文件。

在此应用程序中,我生成 *.xlsx 文件。我想添加一个按钮以使用 Google 表格应用程序直接打开 xlsx 文件。

但我不知道该怎么做。我知道 python 上的 suprocess 系统,但如何调用 android 应用程序?

我在谷歌上搜索过,但没有找到任何信息。

你有什么想法吗?

使用新代码编辑帖子:

编辑2:我找到了解决方案。我发布结果代码。

## Call pyjnius for call intent
# Request the kivy activity instance
PythonActivity = autoclass('org.renpy.android.PythonActivity')
# Get the Android Intent class
Intent = autoclass('android.content.Intent')
## get the URI android
Uri = autoclass('android.net.Uri')
## Get the File object
File = autoclass('java.io.File')
## String object
String = autoclass('java.lang.String')

#create a new Android Intent
p__intent = Intent()
# Set the action of the intent
p__intent.setAction(Intent.ACTION_VIEW)
# Set the intent myme type file
p__intent.setDataAndType(Uri.fromFile(File(p__current_file_month)),String("application/vnd.ms-excel"))
## Set extra to put the filename
p__intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

p__currentActivity = cast('android.app.Activity', PythonActivity.mActivity)
# Run the intent activity
p__currentActivity.startActivity(p__intent)

此代码可以正确打开 *.xlsx 文件。

提前非常感谢

最佳答案

您不想(实际上也不能)使用子流程。相反,您必须使用 pyjnius 创建一个包含任务信息的 Android Intent,然后 Android 可以使用该 Intent 为用户构建可用应用程序列表。

您可以找到有关此的示例 here ,用于电子邮件发送意图,但详细信息应该非常相似。您可能还想阅读一些有关 Android api 的内容,以了解发生了什么。

关于python - Android 应用程序的子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com