Tôi có 2 hoạt động: Activity1
và Activity2
. Trong mỗi hoạt động này có một nút dẫn tôi đến hoạt động thứ ba (MainActivity
). Trong MainActivity
Tôi muốn biết từ trang hoạt động nào được gọi.Android nhận hoạt động trước
Trả lời
Bạn có thể sử dụng thuộc tính putExtra của Mục đích để chuyển tên của Hoạt động.
Hoạt động Calling,
Intent intent = new Intent(this, Next.class);
intent.putExtra("activity","first");
startActivity(intent);
Hoạt động Tiếp theo,
Intent intent = getIntent();
String activity = intent.getStringExtra("activity");
Bây giờ trong hoạt động chuỗi bạn sẽ lấy tên từ đó Hoạt động nó đã đến.
Khi bạn chuyển từ một hoạt động khác bạn có thể Vượt qua Tên hoạt động như đưa ra dưới đây
Intent i = new Intent(this, deliveries.class);
i.putExtra("ActivityName", "ActivityOne");
startActivity(i);
và kiểm tra tên hoạt động trong các hoạt động khác
Bundle extra = getIntent().getExtras();
String activityName = Long.parseLong(extra.getSerializable("ActivityName")
toString());
tôi nghĩ rằng nó có thể giải quyết của bạn vấn đề
Bạn có thể sử dụng:
public ComponentName getCallingActivity()
để biết Hoạt động nào được gọi là Activity
hiện tại của bạn.
Chỉ hoạt động nếu bạn bắt đầu hoạt động với 'startActivityForResult()' , không phải 'startActivity()'. –
Sử dụng putExtra() để xác định hoạt động trước đó.
Intent i = new Intent(Activity1.this, MainActivity.class).putExtra("from", "activity1");
startActivity(i);
Để kiểm tra hoạt động trong Hoạt động chính,
if(getIntent().getStringExtra("from").equals("activity1")){
//From Activity 1
}else {
// Activity 2
}
ActivityManager am = (ActivityManager) this.getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
String className = am.getRunningTasks(1).get(0).topActivity.getClassName();
và chúng tôi đã đặt cho phép:
<uses -permission="-permission" android:name="android.permission.GET_TASKS">
</uses>
Không hoạt động nữa cho các thiết bị Lollipop phía trên. – tasomaniac
- 1. Android quay lại Hoạt động trước
- 2. Nhận dạng hoạt động trong Android không hoạt động
- 3. Nhận cửa sổ hiện hoạt cuối cùng: Nhận cửa sổ hoạt động trước đó
- 4. Nút quay lại Android không quay lại hoạt động trước
- 5. Làm mờ hoạt động từ Hoạt động trước đó trong Android
- 6. cách nhận dạng giọng nói trong Android hoạt động?
- 7. Nhận tên ứng dụng đang hoạt động trong Android
- 8. Vòng đời hoạt động Android
- 9. Nhận dữ liệu từ hoạt động khác
- 10. Hoạt động Android - nền drawable hoạt hình
- 11. Android setContentXem hoạt động
- 12. Nhóm hoạt động không được chấp nhận
- 13. GCM android không hoạt động
- 14. Hoạt động khởi động động trong Android?
- 15. Android: Chụp lại hoạt động
- 16. chia Android không hoạt động chính xác
- 17. Phương thức hoạt động nào được gọi trước?
- 18. Nhận jStorage để hoạt động
- 19. Android 4.x RemoteControlClient.setTransportControlFlags() không hoạt động?
- 20. Hoạt ảnh trước API 11
- 21. Trình cài đặt gói Android - cách nhận được kết quả hoạt động "Mở" và "Xong" và hoạt động cả hai?
- 22. Android không hoạt động getSharedPreferences
- 23. Android OnItemClickListener không hoạt động
- 24. Android - addToBackStack() không hoạt động?
- 25. OnActivityResult không hoạt động (Android)
- 26. Hình nền hoạt động Android
- 27. Android Spinner.setSelection() không hoạt động
- 28. imageview.setBackgroundResource android() không hoạt động
- 29. android: onClick không hoạt động với ProGuard
- 30. Cách duy trì trạng thái trước đó của hoạt động
Bạn có thể đặt nó trên ý định? –
+1 - đồng ý với @ variant-45, đặt 'int' hoặc bất kỳ thứ gì khác làm cờ từ người gọi' Hoạt động ' –
Thêm cờ hoạt động để xác định so với ý định đưa vào mainActivity và vui lòng đặt mã theo ques .. có thể ý tưởng fro trả lời –