android - Pusher 不能在 android 4.4.4 版本上工作?

标签 android pusher

目标:Pusher在android 5.0及以上版本工作,但4.0及以下版本无法连接pusher server。

我正在使用下面的代码

 if(Utils.isOnline(mcontext)) {
        try {
            PusherOptions pOptions = new PusherOptions();
            pOptions.setAuthorizer(new HttpAuthorizer(Constants.PUSHER_AUTH_SRC_URL + "/auth.php"));
            pusher = new Pusher(Constants.PUSHER_KEY, pOptions);
           /* pusher.connect(new ConnectionEventListener() {
                @Override
                public void onConnectionStateChange(ConnectionStateChange connectionStateChange) {

                }

                @Override
                public void onError(String s, String s1, Exception e) {

                }
            }, ConnectionState.ALL);*/

            pusher.connect();
            //com.pusher.client.util.Factory factory;
            channel = pusher.subscribe(Utils.getPref(mcontext,"channel_name", ""));
            Utils.setPref(mcontext, "OtherUserId", "");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

下面使用Gradle库Commen库已经试过了

compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-v4:23.2.1'
compile 'de.hdodenhof:circleimageview:1.2.1'
compile files('libs/afilechooser.jar')
//compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.pusher:pusher-java-client:1.4.0'
//compile 'com.pusher:pusher-websocket-android:0.5.0'
//compile 'org.java-websocket:java-websocket:1.3.1'
//compile 'com.squareup.picasso:picasso:2.1.1'
compile 'com.android.support:recyclerview-v7:23.2.1'
//compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
//compile 'commons-io:commons-io:20030203.000550'
//compile 'org.apache.commons:commons-lang3:3.4'
//compile 'org.slf4j:slf4j-api:1.7.22'
//compile 'org.slf4j:slf4j-simple:1.7.22'
//compile 'com.google.code.gson:gson:2.8.0'

** 致命异常:主要 **

  Process: com.driversafe, PID: 12897
  java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
      at com.pusher.client.connection.websocket.WebSocketConnection.<clinit>(WebSocketConnection.java:29)
      at com.pusher.client.util.Factory.getConnection(Factory.java:53)
      at com.pusher.client.Pusher.<init>(Pusher.java:102)
      at com.pusher.client.Pusher.<init>(Pusher.java:83)
      at com.driversafe.chat.MessageStatusApiCalling.pusherConnect(MessageStatusApiCalling.java:67)
      at com.driversafe.chat.ApplicationLifeCycleHandler.onActivityCreated(ApplicationLifeCycleHandler.java:27)
      at android.app.Application.dispatchActivityCreated(Application.java:189)
      at android.app.Activity.onCreate(Activity.java:903)
      at android.support.v4.app.BaseFragmentActivityDonut.onCreate(BaseFragmentActivityDonut.java:39)
      at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:298)
      at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:84)
      at com.driversafe.SplashActivity.onCreate(SplashActivity.java:57)
      at android.app.Activity.performCreate(Activity.java:5231)
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
      at android.app.ActivityThread.access$800(ActivityThread.java:135)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
      at android.os.Handler.dispatchMessage(Handler.java:102)
      at android.os.Looper.loop(Looper.java:136)
      at android.app.ActivityThread.main(ActivityThread.java:5017)
      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:779)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
      at dalvik.system.NativeStart.main(Native Method)

最佳答案

您的 pusher 依赖与 google-play-service 依赖冲突只需从 gradle 中删除 compile 'com.google.android.gms:play-services:8.4.0' 依赖,您的问题将是解决了

关于android - Pusher 不能在 android 4.4.4 版本上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41406443/

相关文章:

android - 是否可以通过 Appium 启动已安装在 Android Emulator 上的 Chrome?

c# - (XAMARIN ANDROID) - 我如何为每个循环遍历 List<T> 并获取每个项目然后传递给数组适配器然后传递给 ListView

android - 如何使 UC 浏览器像底部栏中的设置弹出菜单?

使用 Pusher 进行 Laravel 广播无法使用 Vue 进行监听

php -/pusher/auth 端点在 Laravel 中返​​回 404

javascript - 未捕获的类型错误 : callback is not a function while implementing pusher with laravel

laravel - 在没有 Pusher 和 Redis 的情况下使用 Laravel Events?

android - 我如何检测到无法在android中连接wifi?

android - 将 JWT 身份验证 token 添加到 OkHttp、Dagger 2 和 Retrofit

pusher - 如何在 Pusher 中创建 channel