Я использую Filepicker
в своем приложении, чтобы пользователи могли выбирать фотографии со своих телефонов.Код, который я использую, выглядит следующим образом:
Вызов Filepicker:
try
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
FilePicker fp = FilePicker.getInstance();
fileListener = new FilePickListener();
fp.setListener(fileListener);
fp.show();
}
});
}
catch (Exception e)
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
Dialog.alert("Please check your data card..");
}
});
}
И способ получения имени файла в моем FilePickListener:
public void selectionDone(String str)
{
this.currFileName = str;
int index = str.lastIndexOf('/');
Dialog.alert("Filename: "+str.substring(index+1).trim());
}
Это прекрасно работает в большинстве телефонов, на которых я пробовал (которые представляли собой смесь телефонов с некоторыми работающими OS5 и некоторыми работающими OS6).Но на некоторых, таких как 8900 (под управлением ОС v5.0.0.411), он не работает должным образом.Filepicker
вызывается и появляется, но когда выбирается любой файл, метод selectionDone не вызывается.Я проверил это на двух отдельных 8900-х, и у обоих одинаковая проблема.
У кого-нибудь есть идеи, почему он работает на определенных телефонах, а не на других?