я следующая ситуация: когда я запускаю мое приложение следующий сценарий имеет место:андроид ручка активности запуска
- Я начинаю свою деятельность
StartActivity
- Если я никогда не делал логин (я знаю это на основе по каким-то общим предпочтениям) запустите
LoginActivity
и покажите макет входа (имя пользователя и пароль) - Если я уже сделал логин, я все равно начинаю
LoginActivity
, но я использую (зашифрованные) данные, сохраненные в общих настройках, без повторного запроса учетных данных пользователю. - Когда Войти преуспеваем запускаю деятельность
StartActivity
Теперь в моем файле манифеста У меня есть следующий IntentFilter для MainActivity
:
<intent-filter android:label="Conio" >
<action android:name="android.intent.action.VIEW" />
<data android:scheme="myprotocol" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
И все хорошо работает с большим «НО»: все работает только тогда, когда мое приложение уже открыто: мое приложение выведено на передний план, вызывается метод onCreate и с getIntent.getData() Я могу получить доступ к URI, который запустил мое приложение.
БОЛЬШАЯ ПРОБЛЕМА:
Что мне нужно:
- Когда мое приложение еще не началось все должно начинаться с
StartActivity
согласно предыдущему объяснению- Когда мое приложение работа должна быть текущей
Для достижения этой цели я сделал следующую попытку: я применил, что IntentFilter к новому Activity
в OnCreate метод этой деятельности, я положил следующий код
Intent intent = getPackageManager().getLaunchIntentForPackage("my.package.name");
if (intent != null) {
intent.setData(intent.getData());
intent.putExtra("test", "test");
startActivity(intent);
finish();
}
, но то, что происходит здесь в том, что, когда приложение не работает приложение правильно начинается с StartActivity, но если если приложение уже запущенно, MainActivity доводится до фронта, но я не могу получить доступ к Намерению дополнительных услуг, на самом деле этот код не работает
@Override
protected void onResume() {
super.onResume();
//this code returns null
String test=getIntent.getStringExtra("test");
}
Как я могу заставить все это работать?