Я работаю над проектом Android, который должен получить строку из другого приложения с помощью общей активности.SharedActivity.getIntent за пределами OnCreate
Если приложение неактивно, я могу получить информацию getIntent, будь то OnCreate или нажатие кнопки. Но когда приложение уже запущено и в фоновом режиме, если другое приложение отправляет другое намерение, я получаю то же намерение, что и в OnCreate, а не новое.
Благодаря
Var
Intent: JIntent;
S: String;
begin
Try
Intent := SharedActivity.getIntent;
if Intent Nil Then
Begin
if TJIntent.JavaClass.ACTION_SEND.equals(intent.getAction) Then
Begin
S := JStringToString(intent.getStringExtra(TJIntent.JavaClass.EXTRA_TEXT));
End;
End;
Except
On E: Exception Do
ShowMessage(E.Message);
End;
Remy,
Спасибо за ваш ответ.
Я пробовал все (думаю) и не мог заставить его работать. Вот что я сделал:
Я последовал за объяснение Брайана по письму, был построен новый файл .jar без NFC звонков и он не на старте, это бревно из DDMS:
05-13 11: 46: 49.101: E/AndroidRuntime (16597): java.lang.RuntimeException: невозможно выполнить операцию ComponentInfo {com.blong.IntentTest/com.blong.nfc.NativeActivitySubclass}: java.lang.ClassNotFoundException: не удалось найти класс "com.blong.nfc.NativeActivitySubclass" по пути: DexPathList [[zip-файл "/data/app/com.blong.IntentTest-1/base.apk"],nativeLibraryDirectories=[/data/ap р/com.blong.IntentTest-1/Библиотека/рука, /поставщик/Пб/система/Библиотека]]
Так что я rebuit .jar-файл из исходного файла .Java, который включает в себя NFC и это тоже не сработало. Когда приложение находится в фоновом режиме и запускается с новым намерением, приложение показывает черный экран и зависает, как только оно появляется, последнее, что нужно было прокомментировать все в процедуре onNewIntent, и результат был тем же - черный экран.
Тогда я понял, что приложение было запущено дважды, когда другое приложение отправило намерение, и оба экземпляра замерзают, см. Рисунок.
Я попытался также добавить SingleTop к launchmode, как предложено в CI_ пост - никакого успеха.
Как я могу сделать такую простую работу?
Благодаря
дайте нам мир кода, чтобы увидеть ваши звонки –
Я задал аналогичный вопрос здесь http://stackoverflow.com/questions/28969169/receiving-consecutive-send-intents-brings-app-back-to- но не уверен, что он достаточно близок к дублированию. –
@ci_ Как реализовать OnNewIntent()? – DanielH