2017-08-31 8 views
0

J'essaie d'envoyer une requête au serveur et lorsque j'obtiens une réponse du serveur, je veux passer le téléphone du mode silencieux au mode normal. J'utilise la rénovation et je suis nouveau à tout cela.Utilisation des demandes de retrofit et de la réponse pour effectuer une fonction spécifique

Voici comment je fais réponse à la demande et le processus:

Call<ServerResponse3> response3 = requestInterface.chec(ProfileFragment.Global.email); 
response3.enqueue(new Callback<ServerResponse3>() { 
    @Override 
    public void onResponse(Call<ServerResponse3> call, retrofit2.Response<ServerResponse3> response3) { 
     ServerResponse3 resp = response3.body(); 

     Toast.makeText(BService.this, resp.getResult(), LENGTH_LONG).show(); 
     Toast.makeText(BService.this, ProfileFragment.Global.ID, LENGTH_LONG).show(); 

     final AudioManager mode = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
     if (resp.getResult().contains("true")) { 
      //Normal Mode Programatically 
      mode.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
     } else { 
      //Silent Mode Programatically 
      mode.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
     } 
} 

Et voici la partie de l'interface:

@GET("project5/web/normal") 
Call<ServerResponse3> chec (@Query("email") String email); 

Alors fais-je ce droit ou il y a quelque chose de mal?

+0

quelle est votre erreur? –

+0

@MuraliPrajapati ne peut pas résoudre getSystemService –

Répondre

0

Utiliser le nom de l'activité pour le contexte comme celui-ci:

final AudioManager mode = (AudioManager) YourActivityName.this.getSystemService(Context.AUDIO_SERVICE); 
+0

oui, cela fonctionne ,, merci <3 –