public static synchronized void unsubscribe ( android . content . Context context , java . lang . String channel ) { if ( channel == null ) { return ; } AVPushMessageListener . getInstance ( ) . getNotificationManager ( ) . removeDefaultPushCallback ( channel ) ; final java . lang . String finalChannel = channel ; if ( StringUtil . isEmpty ( AVInstallation . getCurrentInstallation ( ) . getObjectId ( ) ) ) { AVInstallation . getCurrentInstallation ( ) . saveInBackground ( ) . subscribe ( new Observer < AVObject > ( ) { @ Override public void onSubscribe ( Disposable d ) { } @ Override public void onNext ( AVObject avObject ) { AVInstallation . getCurrentInstallation ( ) . removeAll ( "channels" , Arrays . asList ( finalChannel ) ) ; _installationSaveHandler . sendMessage ( Message . obtain ( ) ) ; } @ Override public void onError ( Throwable e ) { LOGGER . w ( e ) ; } @ Override public void onComplete ( ) { } } ) ; } else { AVInstallation . getCurrentInstallation ( ) . removeAll ( "channels" , Arrays . asList ( finalChannel ) ) ; _installationSaveHandler . sendMessage ( Message . obtain ( ) ) ; } }
Cancels a previous call to subscribe . If the user is not subscribed to this channel this is a no - op . This call does not require internet access . It returns without blocking