Tất cả ứng dụng của tôi có cùng sharedUserId. Tôi muốn bắt đầu một lớp học của một ứng dụng khác bằng cách sử dụng lớp ứng dụng hiện tại của tôi. Tôi muốn sử dụng tính năng bổ sung ý định nhưng tôi không muốn sử dụng các URL mục đích. Tôi cũng không muốn thay đổi AndroidManifest của ứng dụng hoạt động mục tiêu của mình.Mục đích Android: Bắt đầu hoạt động bằng cách sử dụng tên lớp từ một ứng dụng khác có cùng sharedUserId
13
A
Trả lời
30
Nó khá dễ dàng vì bạn có tập sharedUserId.
Intent res = new Intent();
String mPackage = "com.your.package";
String mClass = ".actYouAreLaunching";
res.setComponent(new ComponentName(mPackage,mPackage+mClass));
startActivity(res);
Và đó là tất cả. Bạn có thể thêm các tính năng bổ sung ý định như bình thường.
+0
bạn có thể bỏ qua 'ComponentName (...)' mới bằng cách sử dụng 'Intent.setClassName (String pack, String className)' –
Các vấn đề liên quan
- 1. Android: Bắt đầu Hoạt động mới từ Lớp Ứng dụng
- 2. Android: Bắt đầu một hoạt động cho một ứng dụng bên thứ ba khác nhau
- 3. Làm thế nào để bắt đầu một hoạt động Android từ một ứng dụng Unity?
- 4. Bắt đầu Hoạt động Android với tên lớp
- 5. Không thể bắt đầu Mục đích mới bằng setClassName với gói khác trong Android
- 6. Bắt đầu một hoạt động bằng cách sử dụng hoạt ảnh lật 3D
- 7. Android: Cách chuyển ứng dụng từ cùng ứng dụng sang điện thoại Android khác
- 8. Sử dụng bối cảnh để bắt đầu Hoạt động khác
- 9. BroadcastReceiver cách bắt đầu mục đích mới
- 10. Cách gửi giá trị băm bản đồ đến một hoạt động khác bằng cách sử dụng mục đích
- 11. Cách bắt đầu hoạt động khác nhau bằng cách sử dụng hộp chuyển đổi trong mục menu?
- 12. Bắt đầu Hoạt động mới từ lớp Hoạt động phi
- 13. Mục đích bắt đầu của Android để xem apk
- 14. Android Ý định bắt đầu Hoạt động chính của ứng dụng
- 15. Bắt đầu một hoạt động từ PreferenceScreen
- 16. Cách bắt đầu một ứng dụng android với valgrind
- 17. Hai nút tiện ích Android gọi cùng Hoạt động với các mục đích khác nhau
- 18. Cách mở album trong ứng dụng Thư viện bằng cách sử dụng mục đích
- 19. Bắt đầu một cách có lập trình hoạt động 'Thêm tài khoản' trong Android 2.2
- 20. Cách lấy tên tệp từ mục đích?
- 21. Bắt tên của lớp cha bằng cách sử dụng Reflection
- 22. Android: Gọi hoạt động của ứng dụng khác
- 23. Cách khởi chạy hoạt động mới bằng cách sử dụng mục đích đang chờ xử lý
- 24. Cách bắt đầu Hoạt động từ Android AppWidget?
- 25. Bắt đầu Hoạt động từ Android-Library-Project
- 26. Bắt đầu Hoạt động để có kết quả từ IME
- 27. Bắt đầu twitter ứng dụng
- 28. Điều gì sẽ xảy ra khi hoạt động trên Android bắt đầu hoạt động khác
- 29. Làm một hoạt động chỉ xuất hiện một lần, khi ứng dụng được bắt đầu
- 30. Mục đích mới() bắt đầu phiên bản mới bằng Android: launchMode = "singleTop"
'Tất cả ứng dụng của tôi đều có cùng sharedUserId' Tôi rất muốn không làm điều đó. – Falmarri
Nó là cần thiết từ một quan điểm người dùng mà đăng nhập vào một ứng dụng đăng nhập vào những người khác là tốt. Tôi có thể khóa cookie đăng nhập vào sharedUserId của mình hoặc tôi có thể công khai nó cho tất cả các ứng dụng. Ngoài ra, không thể xuống đường thêm sharedUserId vào ứng dụng không có ứng dụng mà không yêu cầu gỡ cài đặt và mất dữ liệu (trừ khi chúng khắc phục sự cố này trong các bản phát hành trong tương lai). @ Falmarri, Tất cả những điều đó sang một bên, tôi vẫn muốn biết tại sao nó được ưa thích không sử dụng sharedUserId. –