Я хочу получить имя вызывающей активности для проверки некоторых условий. Каким будет решение?Как получить название вызывающей деятельности?
ответ
Вы можете передавать данные между различными видами деятельности, используя Bundle
Посмотрите на этот пример: http://www.balistupa.com/blog/2009/08/passing-data-or-parameter-to-another-activity-android/
В основном вам нужно поместить имя вызывающего абонента в качестве параметра:
Bundle bundle = new Bundle();
bundle.putString(this.class.getName(), “ClassName”);
Intent newIntent = new Intent(this.getApplicationContext(), ActivityClass2.class);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
И в ActivityClass2 вы можете прочитать этот параметр, используя:
Bundle bundle = this.getIntent().getExtras();
String className = bundle.getString(“ClassName″);
Я думаю, что вы можете достичь этого даже с getCallingActivity().getClassName()
Шаг1: Создать свой Интерфейс-> правой кнопки вашего project-> New-> JavaClass-> Kind = Интерфейс
public interface ActivityConstants {
public static final int NameFromTheFirstActivity = 1001;
public static final int NameFromTheSecondActivity = 1002;
public static final int NameFromTheThirdActivity = 1003;
}
Шаг2: В каждую деятельность (Activity1 или Activity2 или Activity3), когда вы создаете свое намерение вызвать ActivityFromWhereYouWantChooseTheAction (называемое ActivityChooseAction), вам нужно добавить дополнительные функции ... В Activity1 напишите:
Intent intent = new Intent(getApplicationContext(), ActivityChooseAction.class);
intent.putExtra("calling-activity", ActivityConstants.NameFromTheFirstActivity);
startActivity(intent);
В деятельности2 написать это:
Intent intent = new Intent(getApplicationContext(), ActivityChooseAction.class);
intent.putExtra("calling-activity", ActivityConstants.NameFromTheSecondActivity);
startActivity(intent);
В Activity3 написать это:
Intent intent = new Intent(getApplicationContext(), ActivityChooseAction.class);
intent.putExtra("calling-activity", ActivityConstants.NameFromTheThirdActivity);
startActivity(intent);
После того, как вы можете пойти в ваш ActivityChooseAction и написать это:
Public class ActivityChooseAction...{
String parametersharedtouseinthisactivity="";
...
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitychooseaction_layout);
mPreferences = getSharedPreferences("CurrentUser", MODE_PRIVATE);
int callingActivity = getIntent().getIntExtra("calling-activity", 0);
switch (callingActivity) {
case ActivityConstants.NameFromTheFirstActivity:
//write your parameter....if u have saved it into preferences you can do like
parametersharedtouseinthisactivity = mPreferences.getString("nameparameter", defaultvalueyouwant);
break;
case ActivityConstants.NameFromTheSecondActivity:
parametersharedtouseinthisactivity = mPreferences.getString("nameparameter", defaultvalueyouwant);
break;
case ActivityConstants.NameFromTheThridActivity:
parametersharedtouseinthisactivity = mPreferences.getString("nameparameter", defaultvalueyouwant);
break;
}
}
Я надеюсь, что это может помочь кому-то, я следил за тем, что пользователь здесь сказал: how to know the calling activity in android
- 1. Получить название деятельности launcher
- 2. Lollipop: Получить наивысшее название деятельности
- 3. Получить название деятельности в Android
- 4. Android - Возврат к вызывающей деятельности
- 5. Как получить доступ к методам сервиса из его вызывающей деятельности?
- 6. Название пакета и деятельности
- 7. Название приложения - это название первой деятельности?
- 8. Как мне получить имя функции, вызывающей метод?
- 9. Как эллипсировать название деятельности на Android
- 10. Как постоянно менять название деятельности UCM?
- 11. Как удалить название деятельности в андроид-студии?
- 12. как мне получить название деятельности, если это системное приложение (например, приложение галереи)
- 13. Получить тело и название регулярного уведомления в деятельности на Android
- 14. Получите название сфокусированной деятельности независимо от владельца
- 15. Название приложения и название основной деятельности могут отличаться от Android?
- 16. Как получить вид деятельности?
- 17. Android-студия Manifest Название деятельности Red подчеркивают
- 18. PHP: Получить имя вызывающей функции?
- 19. Должно ли название основной деятельности быть .MainActivity?
- 20. Как получить контекст вызывающей функции/объекта?
- 21. Как получить URL-адрес страницы, вызывающей функцию?
- 22. Как найти название пакета основного вида деятельности в android?
- 23. Как получить название категории?
- 24. Как получить название AlertDialog?
- 25. Как получить название класса
- 26. Как получить название блока?
- 27. Как получить название страны
- 28. Как получить название JSON
- 29. как получить название месяца
- 30. как получить JSon название
называющаяся деятельность есть? –
activity.class.getName() ??? если вы вызываете другое действие из активности, вы можете указать его имя в Bundle, а затем запустить Intent. –
Я правильно понял ответы на этот вопрос, что я (как деятельность или услуга) не могу узнать, кто (деятельность или услуга) хочет использовать меня без сотрудничества вызывающего? – k3b