09-11 09:18:33.407 14947-14947/com.hx.socialapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.hx.socialapp, PID: 14947
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=rong://com.hx.socialapp/subconversationlist?type=system }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499)
at android.app.Activity.startActivityForResult(Activity.java:3942)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77)
at android.app.Activity.startActivityForResult(Activity.java:3889)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at android.app.Activity.startActivity(Activity.java:4213)
at android.app.Activity.startActivity(Activity.java:4181)
at io.rong.imkit.RongIM.startSubConversationList(RongIM.java:589)
at io.rong.imkit.fragment.ConversationListFragment.onItemClick(ConversationListFragment.java:1102)
at android.widget.AdapterView.performItemClick(AdapterView.java:334)
at android.widget.AbsListView.performItemClick(AbsListView.java:1531)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3667)
at android.widget.AbsListView$3.run(AbsListView.java:5590)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5981)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
问题解决;
第一,是合并代码的时候,吧清单文件中这个activity给删除调了,重新注册下.
第二 .这里提示act=android.intent.action.VIEW dat=rong://com.hx.socialapp/subconversationlist没有找到,
subconversationlist,融云中表示聚合.
之前的在清单文件中是这样注册的:
把<activity android:name=".activity.social.GroupNotifyActivity" android:launchMode="singleTask" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustResize"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:host="com.hx.socialapp" android:path="/conversationlist" android:scheme="rong"/> </intent-filter> </activity>
android:path="/conversationlist" (表示非聚合)改为:
android:path="/subconversationlist"即可
问题延伸:
一般出现这个问题,都是清单文件出现这个问题
如果是其他地方出现问题,一般会报Java.lang.ClassNotFoundException问题源头:
<activity android:name="com.x210.intentfilters.OneActivity"android:label="oneActivity">
<intent-filter>
<actionandroid:name="myapp.action.test1" />
<actionandroid:name="myapp.action.test2" />
</intent-filter>
</activity>
<Intent-filter>节点中缺少:
<category android:name="android.intent.category.DEFAULT"/>
原因:
由于在通过Intent调用Activity时,Android默认会自动添加CATEGORY_DEFAULT类别属性,故在Filter配置中CATEGORY_DEFAULT是不可缺少的;
其实一般有这几种情况:
1、启动activity的时候,在AndroidManifest.xml可能压根你就忘了添加一个activity,或者说activity的包名或者名字写错了,这个犯错几率很高的;
2、使用了</activity android:name=".geocodeingactivity">,而不是全称</activityandroid:name="com.andieguo.demo.geocodeingactivity">。</activity android:name=".geocodeingactivity">
表示当前清单文件package="com.andieguo.demo"下的Activity。当应用包名com.andieguo.demo与 GeocodeingActivity所在的包不一致的时候,会导致找不到GeocodeingActivity类。
3、你的使用的class,是一个外部的JAR包,当在工程中编译使用时,发布成APK并没有包含JAR文件,所以APK在执行的时候就找不到JAR文件,会报错。