我想檢索調用活動的名稱以檢查某些條件。將有什麼解決方案?如何獲取調用活動的名稱?
3
A
回答
3
可以使用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″);
5
我想你甚至可以 getCallingActivity().getClassName()
1
第一步實現這一目標: 創建界面 - >右鍵你的項目 - >新建 - > JavaClass->類=接口
public interface ActivityConstants {
public static final int NameFromTheFirstActivity = 1001;
public static final int NameFromTheSecondActivity = 1002;
public static final int NameFromTheThirdActivity = 1003;
}
第二步: 進入每個活動(活動1或活動2或活動3)當你建立你的意圖調用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. 獲取啓動器活動名稱
- 2. 如何使用Java獲取全局活動窗口的名稱?
- 3. 獲取Intent內的活動名稱
- 4. 獲取活動窗口的名稱
- 5. 如何獲取調用動作的模型和動作名稱
- 6. 如何獲取調用方法名稱?
- 7. 如何獲取調用方法名稱?
- 8. 如何使用java獲取android活動名稱?
- 9. 從另一個活動獲取名稱
- 10. 如何獲取替換我自己的活動的名稱?
- 11. 如何在Python中獲取當前活動窗口的名稱?
- 12. 如何獲取與活動關聯的佈局名稱?
- 13. 如何從谷歌健身中的活動代碼中獲取活動名稱
- 14. 如何在android中獲取手機主屏幕的活動或活動名稱?
- 15. 如何在Jupyter筆記本中獲取活動內核名稱
- 16. 如何獲取調用bash腳本的別名名稱
- 17. Android活動名稱,如何翻譯我的意圖調用
- 18. 如何獲得使用java的活動標籤名稱或ID?
- 19. 如何動態獲取標籤名稱?
- 20. 如何動態獲取網站名稱
- 21. 如何動態獲取系統名稱?
- 22. 如何動態獲取表單名稱?
- 23. 如何獲取驅動程序名稱?
- 24. 如何通過OS X中的命令行獲取活動用戶的名稱?
- 25. 在Android中獲取活動的應用程序名稱
- 26. 獲取當前活動的應用程序名稱
- 27. win32gui獲取當前活動的應用程序名稱
- 28. 獲取調用方法的名稱javascript
- 29. JavaScript - 獲取調用函數的名稱
- 30. 獲取腳本的調用者名稱
通話活動是指? – 2012-02-13 09:57:41
activity.class.getName()???如果您從活動中調用另一個活動,則可能需要將其名稱提供給一個Bundle,然後啓動該Intent。 – 2012-02-13 09:58:10
我是否正確地理解了這個問題的答案,即我(作爲一項活動或作爲服務)在沒有來電者的合作的情況下無法找出誰(活動或服務)想要使用我? – k3b 2012-02-13 10:24:15