【问题标题】:How to add my own activity in Android/frameworks/base/core/java/android/app如何在 Android/frameworks/base/core/java/android/app 中添加我自己的活动
【发布时间】:2015-03-06 04:39:39
【问题描述】:

我正在尝试在 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,代码sn -p如下:

  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。不过不确定。我试图弄清楚如何使用同一目录中的其他类,但没有运气,我找不到任何类似用法的参考。谁有类似的经历,请帮帮我。谢谢

【问题讨论】:

    标签: android android-activity android-source


    【解决方案1】:

    这可能是一个旧线程,我不知道你是否还被困在这里,但你或其他任何人都可以看看this link

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

    【讨论】:

    • 我已经解决了这个问题,但还没有时间写下我的解决方案。我认为您的链接将帮助追随者。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 2011-10-13
    • 2017-10-03
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多