Если вы хотите узнать результат Intent (в данном случае settings или app2), вы можете использовать
startActivityForResult(intent, requestCode)
вместо
startActivity(intent)
.
Где код запроса должен быть уникальным для разных целей (в данном случае settings и app2).
Чтобы обработать результат, вам нужно переопределить onActivityResult () в действии.
Таким образом, ваш требуемый код будет
@Override
protected void onResume() {
super.onResume();
// if(from setting) {
// do this
// }
NfcManager manager = (NfcManager) this.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {
Intent userHomeScreen = new Intent(getApplicationContext(), UserHomeActivity.class);
startActivityForResult(userHomeScreen,1);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
// Activity returned from userHomeScreen
}
else if (requestCode ==2) {
// Activity returned from Settings
}
}
ОБНОВЛЕНИЕ:
Чтобы добавить к этому выше, если вы хотите получить доступ к какой-либо ФУНКЦИИ настроек, вы можете использовать константы SETTINGS в качестве параметров намерения.
Документация по настройкам
Например, если вы хотите получить доступ к настройкам NF C:
// Look into the constants in the documentation to know which constants to use in intent
Intent intent = new Intent(Settings.ACTION_NFC_SETTINGS);
startActivityForResult(intent, 2);