Не может выбрать файл в файловом диспетчере Android, используя KivymdPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Не может выбрать файл в файловом диспетчере Android, используя Kivymd

Сообщение Anonymous »

Это мой код Kivymd, чтобы открыть файловый диспетчер Android, если я выберу файл, который он не отображается в выбранном файле, пожалуйста, помогите мне ...

Я хочу заменить mdfilemanager вместо этого, я хотел использовать файловый диспетчер Android < /p>
< /li>
Я есть Возможность открыть файловый диспетчер, когда я выбираю в файле, он не выбран < /p>
< /li>
< /ol>
, а также дает разрешение в Buldozer.spec Файл < /p>
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.app import App

KV = '''
BoxLayout:
orientation: 'vertical'

Button:
text: "Open File Manager"
on_release: app.open_file_manager()

Label:
id: file_label
text: "Selected File: None"
halign: 'center'

ScrollView:
Label:
id: file_content_label
text: ""
'''

class FileManagerApp(App):
file_label = ObjectProperty()
file_content_label = ObjectProperty()

def build(self):
return Builder.load_string(KV)

def open_file_manager(self):
from jnius import autoclass
PythonActivity = autoclass('org.kivy.android.PythonActivity')
Intent = autoclass('android.content.Intent')
activity = PythonActivity.mActivity

intent = Intent()
intent.setAction(Intent.ACTION_OPEN_DOCUMENT)
intent.setType("*/*")

activity.startActivityForResult(intent, 0)

def on_activity_result(self, requestCode, resultCode, data):
if resultCode == -1: # Activity.RESULT_OK
uri = data.getData()
selected_file_name = self.get_file_name_from_uri(uri)
self.root.ids.file_label.text = f"Selected File: {selected_file_name}"

try:
with open(uri.getPath(), 'rb') as file:
raw_data = file.read()
file_content = raw_data.decode('utf-8')
self.file_content_label.text = file_content
except Exception as e:
self.root.ids.file_content_label.text = f"Error reading file: {e}"

def get_file_name_from_uri(self, uri):
resolver = autoclass('android.content.ContentResolver')
resolver_instance = resolver(activity.getContentResolver())
cursor = resolver_instance.query(uri, None, None, None, None)
if cursor.moveToFirst():
column_index = cursor.getColumnIndex('_display_name')
return cursor.getString(column_index)

if __name__ == '__main__':
FileManagerApp().run()
< /code>
[во время отладки в Android Studio я получаю эту ошибку] ​​
Это ошибка, которую я получаю в журнале Android Studio < /p>

Подробнее здесь: https://stackoverflow.com/questions/780 ... ing-kivymd
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»