如何在Android/frameworks/base/core/java/Android/app中添加我自己的活动

如何在Android/frameworks/base/core/java/Android/app中添加我自己的活动,android,android-activity,android-source,Android,Android Activity,Android Source,我正试图在AOSP/frameworks/base/core/java/android/app目录中添加我自己的ConfirmDialog.java。稍后我需要从/frameworks/base/core/java/android/my_module/my_class.java启动ConfirmDialog。 要从my_class.java启动ConfirmDialog.java,代码段如下: Intent resolveActivityIntent = new Intent(); re

我正试图在AOSP/frameworks/base/core/java/android/app目录中添加我自己的ConfirmDialog.java。稍后我需要从/frameworks/base/core/java/android/my_module/my_class.java启动ConfirmDialog。 要从my_class.java启动ConfirmDialog.java,代码段如下:

  Intent resolveActivityIntent = new Intent();
  resolveActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  resolveActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION); // indicate target activity is not launched by user manually

  ComponentName comp = new ComponentName("android.app", "android.app.ConfirmDialog");
  resolveActivityIntent.setComponent(comp);
  ActivityManagerNative.getDefault().startActivityAndWait(null, null, resolveActivityIntent, null, null, null, 0, resolveActivityIntent.getFlags(), null, null, null, UserHandle.USER_CURRENT);
AOSP编译成功。但是,当调用“startActivityAndWait(…)”时,仿真器将崩溃,Logcat将给出以下错误:

12-10 17:46:14.811: V/PackageManager(758): getActivityInfo ComponentInfo{android.app/android.app.DatePickerDialog}: null
12-10 17:46:14.831: E/AndroidRuntime(758): *** FATAL EXCEPTION IN SYSTEM PROCESS: PackageManager
12-10 17:46:14.831: E/AndroidRuntime(758): java.lang.NullPointerException: Attempt to read from field 'android.content.pm.ApplicationInfo android.content.pm.ComponentInfo.applicationInfo' on a null object reference
12-10 17:46:14.831: E/AndroidRuntime(758):  at com.android.server.am.ActivityStackSupervisor.resolveActivity(ActivityStackSupervisor.java:599)

我猜出现这个错误是因为我没有在*.mk中成功注册ConfirmDialog.java。不过我不确定。我试图弄清楚同一目录中的其他类是如何使用的,但运气不好,我找不到任何类似用法的参考。任何有类似经验的人,请帮我一点忙。谢谢

这可能是一条旧线,我不知道你是否还在这里,但你或其他人可以看看


很抱歉挖掘“旧”线程:D

我已经解决了这个问题,但还没有时间写下我的解决方案。我认为你的链接将帮助追随者。谢谢你的回答!