PythonActivity = autoclass('org.%s.android.PythonActivity' %self.nomIntent) #request the Kivy activity instance
Intent = autoclass('android.content.Intent') # get the Android Intent class
Uri = autoclass('android.net.Uri')
FileProvider = autoclass('android.support.v4.content.FileProvider')
#Context = autoclass("android.content.Context")
File = autoclass('java.io.File')
intent = Intent() # create a new Android Intent
nApk = File(str(self.localUpdateFile))
currentActivity = cast('android.app.Activity', PythonActivity.mActivity)
ctx = currentActivity.getApplicationContext()
uriApk = FileProvider.getUriForFile(ctx, "org.test.ppv.fileprovider", nApk)
intent.setAction(Intent.ACTION_INSTALL_PACKAGE)
intent.setDataAndType(uriApk, "application/vnd.android.package-archive")
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
currentActivity.startActivity(intent) # show the intent in the activity
ajout manifest:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="org.test.ppv.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
file_paths.xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="
http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="." />
</paths>
buildozer.spec
android.add_aars = support-v4-24.1.1.aar