我正在使用改造来提出请求.
我有以下错误:
java.net.ProtocolException:后续请求太多:21
代码如下:
private OkHttpClient httpClient;
private CookieManager cookieManager;
public <S> S createCookieService(Class<S> serviceClass) {
httpClient.interceptors().clear();
httpClient.setCookieHandler(cookieManager);
Retrofit.Builder builder = new Retrofit
.Builder()
.client(httpClient)
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit = builder.client(httpClient).build();
return retrofit.create(serviceClass);
}
Run Code Online (Sandbox Code Playgroud)
然后我提出要求:
例:
1)登录
@POST("/login")
Call<User> login();
Run Code Online (Sandbox Code Playgroud)
2)一些要求:
@GET("/request")
Call<PojoPojo> getPojo();
Run Code Online (Sandbox Code Playgroud)
我收到这个错误的后续请求太多:21.
请帮忙.
如标题所示:
试图实例化一个不是 Fragment 的类 androidx.navigation.fragment.NavHostFragment
我有两个活动。两者都有以下不同 id 的代码和对不同导航图的引用
<fragment
android:id="@+id/splash_nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:defaultNavHost="true"
app:navGraph="@navigation/navigation_splash"/>
Run Code Online (Sandbox Code Playgroud)
当我评论上面的代码应用程序运行正常。在第一个活动中,我可以导航到第二个活动,应用程序运行良好。当我取消注释以上代码时 - 应用程序崩溃
有什么帮助吗?
我的应用程序在Android版本低于Nougat的设备上运行良好.
当我在带有Nougat的设备上启动应用程序时,我按下主页按钮,应用程序崩溃,在logcat中我有:
!!! FAILED BINDER TRANSACTION !!! (parcel size = 1819712)
Unhandled exception
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 1819712 bytes
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3781)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.os.TransactionTooLargeException: data parcel size 1819712 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:615)
at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:3636)
at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3773)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Run Code Online (Sandbox Code Playgroud)
有简单的解决方案吗?此问题仅出现在Nougat上.