J'essaie d'utiliser findViewById
getApplicationContext
et getSystemService
dans la classe MediaButtonReceiver
mais aucune des méthodes ne peut être résolue. Je suppose que je dois passer à la classe contexte MediaButtonReceiver
afin de permettre l'utilisation de ces fonctions, mais je ne peux pas comprendre commentUtilisation de findViewById dans une classe de non-activité
classe essayant d'utiliser les méthodes:
public class external extends MediaButtonReceiver {
private Context context;
Activity activity;
public external(Context context,Activity activity){
this.context=context;
this.activity=activity;
}
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Button", "pressed");
final ToggleButton toggleWF = (ToggleButton) findViewById(R.id.WiFi_toggle);
final ToggleButton toggleBT = (ToggleButton) findViewById(R.id.BT_toggle);
final ToggleButton toggleNFC = (ToggleButton) findViewById(R.id.NFC_toggle);
NfcAdapter mNfcAdapter = NfcAdapter.getDefaultAdapter(getApplicationContext());
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Activité principale:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((AudioManager) getSystemService(AUDIO_SERVICE)).registerMediaButtonEventReceiver(new ComponentName(
this,
external.class));
external External = new external(MainActivity.this,this);
}
}
Veuillez expliquer ce que vous devez réaliser, autant que je peux comprendre, vous essayez de déclencher BroadcastReceiver, et du récepteur de diffusion, vous devez afficher l'interface utilisateur pour obtenir entrée de l'utilisateur? Dans ce cas, la façon dont vous déclenchez le récepteur de diffusion est faux.S'il vous plaît commenter sur la question, alors je peux vous donner le code de réponse –
Vous n'avez pas besoin d'un contexte et une activité .. Toute activité i s déjà un Contexte –
@ChethanShetty Essentiellement, j'essaie de faire en sorte que quand un bouton multimédia externe est pressé, l'application va vérifier l'état des boutons bascule et ensuite utiliser ces états/variables dans le code par la suite. Le code du bouton externe fonctionne, j'ai juste besoin de faire en sorte que les méthodes listées ci-dessus soient utilisables dans la classe MediaButtonReceiver ou je pourrais mettre ces méthodes dans MainActivity si je pouvais trouver un moyen de rendre les variables accessibles dans la classe MediaButtonReceiver. Je ne sais tout simplement pas comment aborder l'une ou l'autre de ces solutions. –