Открыть интерфейс выбора файлов программно на xamarin Android

#android #xamarin #filepicker

#Android #xamarin #filepicker

Вопрос:

Я пытаюсь заставить свое приложение программно отображать интерфейс выбора файлов при нажатии кнопки, но когда я нажимаю на эту кнопку, мое приложение выходит из строя… Кнопка имеет метку «открыть» и должна фильтровать файлы и отображать только файлы с расширением «.txt», вот код метода, с помощью которого я пытаюсь этого добиться…

  private void Button2_Click(object sender, EventArgs e)
        {
            //Program this button to open a file picker interface
            Intent intent = new Intent(BaseContext, FilesDir.Class);
            intent.PutExtra(FilesDir.AbsolutePath, true);
            StartActivityForResult(intent,1);
        }
  

Я использовал Java-код в качестве плана для достижения этой цели, но, похоже, между этими двумя подходами к программированию Android есть некоторые огромные различия, ваша помощь очень ценится….
Дополнительный код, помогающий фильтровать намерения только для текстовых файлов, также приветствуется

Комментарии:

1. какое исключение вызывает сбой? Какова трассировка стека для исключения?

2. Он выдает это исключение Android.Content.ActivityNotFoundException: 'Unable to find explicit activity class {com.companyname.java_tutorial/java.io.File}; have you declared this activity in your AndroidManifest.xml?'

3. я думал, что требуется только пространство имен activity, и объявление этого activity для класса notes уже существует [Activity(Label = "Notes", Theme = "@style/Timothy", MainLauncher = false, ParentActivity = typeof(MainActivity), ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]

Ответ №1:

Попробуйте использовать приведенные ниже коды:

 Intent intent = new Intent();
intent.SetType("text/plain");
intent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(intent, "Select file"), 1);
  

Если у вас есть Java-код, просто обновите их в вопросе, и я могу помочь вам перевести их на C #.

См.: как открыть pdf-или txt-файл в приложении по умолчанию в xamarin-forms

Комментарии:

1. Как мне получить доступ к тексту выбранного файла?

2. как мне открыть выбранный файл и загрузить текст в edit text?

3. загрузить текст в edit text? Запишите данные в этот файл.

4. Да, это было моим намерением в целом, открыть текстовый файл с помощью средства выбора файлов и загрузить содержимое выделенного текста в edit text