Làm cách nào để có được lớp Hoạt động chính hoặc tên lớp của đơn đăng ký của tôi?Làm thế nào để có được lớp Hoạt động chính hoặc tên lớp của đơn đăng ký của tôi?
Cảm ơn rất nhiều!
Làm cách nào để có được lớp Hoạt động chính hoặc tên lớp của đơn đăng ký của tôi?Làm thế nào để có được lớp Hoạt động chính hoặc tên lớp của đơn đăng ký của tôi?
Cảm ơn rất nhiều!
Để có được launcher của bạn hoạt động sử dụng http://developer.android.com/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)
getLaunchIntentForPackage
On gọi Ý định này getComponentName
và từ cuộc gọi CompomemtName trở getClassName
http://developer.android.com/reference/android/content/ComponentName.html
Tôi chỉ cần thiết lập một biến trong hoạt động chính của tôi như vì vậy ... public static Activity activity = this;
thì tôi có thể tham khảo nó từ bất cứ đâu bằng cách sử dụng: MainActivity.activity
.
Bạn cũng có thể đặt nó trong onCreate() phương pháp, chỉ cần thiết lập biến ở phía trên cùng của lớp hoạt động chính của bạn như public static Activity activity;
này sau đó trong phương thức onCreate() chỉ cần thêm activity = this;
bất cứ nơi nào.
Điều này sẽ làm việc cho bất kỳ lớp nào mở rộng Hoạt động, ví dụ: public class MainActivity extends Activity
tuy nhiên bạn có thể gọi biến từ bất kỳ lớp nào ngay cả khi chúng không mở rộng Hoạt động.
Hy vọng điều này sẽ hữu ích.
Nhờ Lee cho việc giải thích làm thế nào để có được classname, đây là các mã:
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();
của ứng dụng className sẽ chỉ ra một số rác như ** com.android.tools.fd.runtime.BootstrapApplication ** –