【问题标题】:Launch activity using custom intent throwing ACTIVITY NOT FOUND EXCEPTION使用自定义意图抛出 ACTIVITY NOT FOUND EXCEPTION 启动活动
【发布时间】:2013-03-04 23:17:03
【问题描述】:

我正在使用以下代码从我的应用程序中启动活动:

Intent intent = new Intent();
intent.setAction("com.android.excample.cutstom_action");
intent.setData(data); //public Uri data
intent.putExtra(Intent.Extra_stream, stream); // public Uri stream
startActivity(intent);

在另一个应用程序中,活动在清单文件中定义如下:

<activity android:name="MyActivity">
<intent-filter>
<action android:name="com.android.excample.cutstom_action"/>
<category android:name = "android.intent.category.DEFAULT"/>
<data android:mimeType="*/*"/>
</intent-filter>
</activity>

但是当我尝试启动活动时,我得到活动未找到异常。 请帮我解决这个问题

崩溃日志如下: "03-04 20:03:53.351: E/AndroidRuntime(22633): FATAL EXCEPTION: main 03-04 20:03:53.351: E/AndroidRuntime(22633): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://com.android.contacts/data/51826 flg=0x1 }} to activity {com.example.test/com.example.test.ContentPickerTester}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.excample.cutstom_action } 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread.deliverResults(ActivityThread.java:2983) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3026) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread.access$1100(ActivityThread.java:126) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1180) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.os.Handler.dispatchMessage(Handler.java:99) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.os.Looper.loop(Looper.java:137) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread.main(ActivityThread.java:4456) 03-04 20:03:53.351: E/AndroidRuntime(22633): at java.lang.reflect.Method.invokeNative(Native Method) 03-04 20:03:53.351: E/AndroidRuntime(22633): at java.lang.reflect.Method.invoke(Method.java:511) 03-04 20:03:53.351: E/AndroidRuntime(22633): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 03-04 20:03:53.351: E/AndroidRuntime(22633): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) 03-04 20:03:53.351: E/AndroidRuntime(22633): at dalvik.system.NativeStart.main(Native Method) 03-04 20:03:53.351: E/AndroidRuntime(22633): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.excample.cutstom_action } 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.Activity.startActivityForResult(Activity.java:3190) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.Activity.startActivity(Activity.java:3297) 03-04 20:03:53.351: E/AndroidRuntime(22633): at com.example.test.ContentPickerTester.onActivityResult(ContentPickerTester.java:64) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.Activity.dispatchActivityResult(Activity.java:4649) 03-04 20:03:53.351: E/AndroidRuntime(22633): at android.app.ActivityThread.deliverResults(ActivityThread.java:2979)"

【问题讨论】:

  • 发布日志猫。并确保您在清单中正确定位了 &lt;activity&gt; 元素

标签: android android-intent android-activity


【解决方案1】:

设置“。”在manifast文件中您的活动名称之前

".MyActivity"

或使用完整的限定路径设置它,如下所示:

"com.android.excample.MyActivity"

【讨论】:

  • 我已经添加了,在网站发帖时忘记放了
  • @user2089918 还在 Intent 中设置匹配的 mimetype。
  • 感谢@User117 的帮助 :) 看起来你是对的。
  • @user2089918 mimetype 是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
  • 2011-03-20
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多