Android на NewIntent от запуска приложений дает мне последнее намерение - PullRequest
6 голосов
/ 09 февраля 2012

У меня есть приложение SingleTask, которое может прослушать схему «тестирования».

Если я нажимаю кнопку (см. Код), я перезапускаю себя, и вызывается onNewIntent, давая мне намерение «тестирования» (теперь я могу отреагировать на это, нажав фрагмент)

Теперь. Если я нажму кнопку «Домой», а затем открою панель запуска приложения и снова войду в свое приложение, я бы хотел, чтобы вызывался onNewIntent, но с пустым намерением, поскольку я не хочу повторять свои действия (например, нажимать фрагменты). Но onNewIntent дает мне последнее намерение, которое использовалось для запуска моей деятельности, то есть намерение «тестирования».

Что я должен сделать, чтобы предотвратить нажатие того же фрагмента? Есть ли хороший способ без использования моих собственных идентификаторов.

public class OnNewIntentTestActivity extends Activity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.e("", "on create");

    ((Button) findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Log.e("", "Relaunch activity");
            startActivity(new Intent(Intent.ACTION_VIEW,  Uri.parse("testing://hello")));

        }
    });
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    Log.e("", "onNewIntent: " + (intent == null? "none" : (intent.getAction() + ":" + intent.getData())));
}
}

1 Ответ

0 голосов
/ 03 июля 2013

setIntent (нуль); после того, как вы получите нужные данные в onNewIntent

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