onActivityResult () не вызывается при возврате из внешнего чтения PDF - PullRequest
0 голосов
/ 22 июля 2011

Я запускаю программу чтения PDF-файлов из следующего кода:

public static final int MY_INTENT_FLAG = 1;
String documentName = "filename.pdf";
File file = new File(getFilesDir(), documentName);
if (file != null && file.exists()) {
   Uri filePathUri = Uri.fromFile(file);
   Intent intent = new Intent(Intent.ACTION_VIEW);
   intent.setDataAndType(filePathUri, "application/pdf");

   try {
      startActivityForResult(intent,MY_INTENT_FLAG);
   } catch (ActivityNotFoundException e) {...}
}

Отлично работает, чтобы открыть документ и прочитать его. Однако при нажатии кнопки «Назад» из программы чтения PDF функция onActivityResult () не вызывается. Почему это? Может ли это быть просто потому, что этот конкретный читатель PDF не устанавливает код результата при завершении? У меня есть Acrobat Reader на моем устройстве.

Я хочу знать, когда я вернусь из внешней активности, чтобы пользователю не нужно было снова входить в систему в этом случае.

Спасибо за любой вклад

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

Вы можете получить метод onActivityResult(), но вы не можете получить результат от дочерней активности, потому что он не возвращает результат на setResult()

, и вы говорите о проверке входа в систему, поэтому у вас есть альтернативные способычтобы проверить логин

например

Вы можете сохранить имя пользователя и пароль в preference, и вы можете прочитать данные для входа в него, если в нем есть данные, то пользовательэто логин, и если нет, то вы можете открыть окно входа в систему для пользователя.

0 голосов
/ 22 июля 2011

Почему это? Может ли это быть просто потому, что этот конкретный читатель PDF не установлен код результата при окончании? У меня есть Acrobat Reader на моем устройство.

Да, обычно это так.

Чтобы результат был передан обратно, дочернее действие должно сначала вызвать setResult () , а затем вызвать finish () . Если это не так, «результат» не распространяется на родительское действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...