1

Python と Kivy でアプリケーションを作成しました。buildozerでapkファイルを生成しました。

このアプリケーションでは、*.xlsx ファイルを生成します。Google Sheets アプリケーションで xlsx ファイルを直接開くためのボタンを追加したいと考えています。

しかし、どうすればこれができるのかわかりません。Pythonのsuprocessシステムは知っていますが、Androidアプリケーションを呼び出すにはどうすればよいですか?

Googleで検索しましたが、情報が見つかりません。

アイデアはありますか?

新しいコードで投稿を編集:

編集 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 ファイルを正しく開きます。

よろしくお願いします

4

1 に答える 1

1

サブプロセスを使用したくない (そして実際には使用できない)。代わりに、pyjnius を使用して、タスクに関する情報を含む Android Intent を作成する必要があります。これにより、Android はこれを使用して、ユーザーが利用できるアプリのリストを作成できます。

メール送信インテントの例はこちらにありますが、詳細はかなり似ているはずです。何が起こっているのかを理解するために、おそらく Android API についても少し読みたいと思うでしょう。

于 2016-05-17T15:04:01.437 に答える