2016-11-16 81 views
7

我正嘗試在我的Android應用程序中使用Chrome自定義選項卡。我的MainActivity課程延伸到AppCompatActivity。在onCreate中,我調用startCustomTabs。下面是該代碼:無法在我的Android應用程序中啓動Chrome CustomTabsIntent

private void startCustomTab(){ 
    CustomTabsIntent intent = new CustomTabsIntent.Builder().setToolbarColor(getResources().getColor(R.color.colorPrimary)).build(); 
    intent.launchUrl(this, Uri.parse("http://github.com/black-dragon/SaavnExtractor")); 
} 

一旦應用程序啓動,它與下面的錯誤崩潰:

11-16 10:55:38.561 30093-30093/com.nick.saavnextractor 
E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.nick.saavnextractor, PID: 30093 
    java.lang.NoSuchMethodError: No static method 
startActivity(Landroid/app/Activity;Landroid/content/Intent;Landroid/os/Bundle;)V 
in class Landroid/support/v4/app/ActivityCompat; or its super classes 
(declaration of 'android.support.v4.app.ActivityCompat' appears in 
/data/data/com.nick.saavnextractor/files/instant-run/dex/slice-com.android.support-support-compat-25.0.0_15c83dd4ec129d2d74bfda2e34f6aeeb93d83fa1-classes.dex) 
     at android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:262) 
     at com.nick.saavnextractor.MainActivity.startCustomTab(MainActivity.java:325) 
     at com.nick.saavnextractor.MainActivity.onCreate(MainActivity.java:111) 
     at android.app.Activity.performCreate(Activity.java:6311) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539) 
     at android.app.ActivityThread.access$900(ActivityThread.java:159) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:148) 
     at android.app.ActivityThread.main(ActivityThread.java:5507) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

注意:如果我執行相同的代碼,在一個新的同樣的方法應用程序,自定義標籤啓動罰款。

+0

你正在使用什麼構建工具版本? – jdandradex

+0

25.0.0 Android N – Nick

回答

11

好的,這是決議。我使用的是構建工具版本25.0.0,但我的SDK平臺爲24.

更新構建工具,平臺工具& SDK到相同版本,然後您將不會面臨此問題。

+0

沒有爲我工作:/ – Gonzalo

+3

找到了解決我的問題。我必須確保導入與編譯的SDK版本相對應的依賴項。 Customtabs網站的實施指南有版本23.3.0的依賴關係。我必須改變它到25.0.1 – Gonzalo

+0

甚至有關於不兼容版本的警告,不能相信我錯過了這一點。 – Sirens

3

隨着@尼克的回答,我也不得不更新Facebook SDK版本和崩潰停止發生。

+1

這是我的。正在使用4.16.1,但升級到4.20.0並工作。 – mco