java.lang.NoSuchMethodError: android.support.v4.app.ActivityCompat.startActivity
java.lang.NoSuchMethodError: android.support.v4.app.ActivityCompat.startActivity
我用 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.access0(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 库
compile 'com.android.support:appcompat-v7:25.0.1'
我认为是最新的。
有人见过这个吗?请帮忙。
我读过这个:没帮助。
在您的堆栈跟踪中,您似乎正在使用导入了 v7 ActivityCompat 的 v4 ActivityCompat。尝试检查要启动的 ActivityCompat class 中的导入,并确保您使用的是正确的版本(7,而不是 4)。
不知道它是否对您有帮助,但就我而言(我的应用程序中有 Facebook SDK custom tabs enabled)当用户(未安装 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 版本(他们在 4.17.0 版本中切换到 customtabs:25.0.0)
compile 'com.facebook.android:facebook-android-sdk:4.17.0'
解决了问题。
我还在我的应用程序中使用自定义选项卡 (v25.0.0),并且没有遇到任何问题。如果不是你的情况 you can check what they've changed.
Answer by mat
使用
compile 'com.facebook.android:facebook-android-sdk:4.20.0'
compile 'com.android.support:customtabs:25.2.0'
帮我解决了问题
我用 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.access0(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 库
compile 'com.android.support:appcompat-v7:25.0.1'
我认为是最新的。
有人见过这个吗?请帮忙。
我读过这个:
在您的堆栈跟踪中,您似乎正在使用导入了 v7 ActivityCompat 的 v4 ActivityCompat。尝试检查要启动的 ActivityCompat class 中的导入,并确保您使用的是正确的版本(7,而不是 4)。
不知道它是否对您有帮助,但就我而言(我的应用程序中有 Facebook SDK custom tabs enabled)当用户(未安装 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 版本(他们在 4.17.0 版本中切换到 customtabs:25.0.0)
compile 'com.facebook.android:facebook-android-sdk:4.17.0'
解决了问题。
我还在我的应用程序中使用自定义选项卡 (v25.0.0),并且没有遇到任何问题。如果不是你的情况 you can check what they've changed.
Answer by mat
使用
compile 'com.facebook.android:facebook-android-sdk:4.20.0'
compile 'com.android.support:customtabs:25.2.0'
帮我解决了问题