我用facebook创建了一个登录应用程序。当我单击登录按钮时,它会显示此错误。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myapp.test, PID: 16970
java.lang.NoSuchMethodError: android.support.v4.app.ActivityCompat.startActivity
at android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:200)
at com.facebook.internal.CustomTab.openCustomTab(CustomTab.java:48)
at com.facebook.CustomTabMainActivity.onCreate(CustomTabMainActivity.java:67)
at android.app.Activity.performCreate(Activity.java:5299)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.access$800(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5061)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)
at dalvik.system.NativeStart.main(Native Method)
我在build.gradle中检查了依赖项,我有AppCompat库
编译'com.android.support:appcompat-v7:25.0.1'
我认为这是最新的。
有没有人见过这个?请帮忙。
我读过这个:https://stackoverflow.com/a/39300065/5241603没有帮助。
答案 0 :(得分:4)
不知道它是否对您有所帮助,但在我的情况下(我的应用程序中有custom tabs enabled的Facebook SDK)当用户(未安装Facebook应用程序)尝试登录时发生此错误。
Exception java.lang.NoSuchMethodError: No virtual method launchUrl(Landroid/app/Activity;Landroid/net/Uri;)V in class Landroid/support/customtabs/CustomTabsIntent; or its super classes
com.facebook.internal.CustomTab.openCustomTab (CustomTab.java:48)
更新依赖关系以使用最新的SDK版本(他们切换到customtabs:版本4.17.0中的25.0.0)
compile 'com.facebook.android:facebook-android-sdk:4.17.0'
修复了问题。
我也在我的应用中使用自定义标签(v25.0.0)并且没有任何问题。如果不是你的情况you can check what they've changed。
Answer答案 1 :(得分:1)
使用
compile 'com.facebook.android:facebook-android-sdk:4.20.0'
compile 'com.android.support:customtabs:25.2.0'
解决了我的问题
答案 2 :(得分:0)
在堆栈跟踪中,您似乎正在使用v4 ActivityCompat并导入v7 ActivityCompat。尝试检查要启动的ActivityCompat类中的导入,并确保使用正确的版本(7,而不是4)。