【发布时间】:2025-12-06 21:15:01
【问题描述】:
我在我的应用中添加了一项功能,可以打开联系人列表。 问题是一些用户报告说,当他们尝试使用该应用程序时,该应用程序崩溃了。 该功能似乎适用于大多数人(包括我,使用 Nexus S)。
这是我用来打开联系人的代码 -
call_friend.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent();
i.setComponent(new ComponentName("com.android.contacts", "com.android.contacts.DialtactsContactsEntryActivity"));
i.setAction("android.intent.action.MAIN");
i.addCategory("android.intent.category.LAUNCHER");
i.addCategory("android.intent.category.DEFAULT");
startActivity(i);
}
});
这是崩溃的日志 -
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.contacts/com.android.contacts.DialtactsContactsEntryActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
at android.app.Activity.startActivityForResult(Activity.java:2817)
at android.app.Activity.startActivity(Activity.java:2923)
at can.you.drive.dont_drive$1.onClick(dont_drive.java:75)
at android.view.View.performClick(View.java:2465)
at android.view.View$PerformClick.run(View.java:8907)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
我不知道是什么原因造成的。 谢谢!
【问题讨论】:
-
受影响的用户不会碰巧使用平板电脑,对吗?如果不是,是哪个操作系统版本?
-
我还想在 Erik 的问题中添加“哪个设备?”;代码似乎假设标准的 Android 联系人应用程序将安装在设备上,但情况可能并非总是如此(例如,如果制造商已将标准应用程序替换为他们自己的应用程序)
-
我真的对它一无所知,除了它发生在 Galaxy S 上(因为我自己尝试过)。我没有关于操作系统版本或其他设备的任何信息。
标签: android android-intent android-contacts