Autore Topic: Inserire checkbox in BroadcastReceiver  (Letto 281 volte)

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Inserire checkbox in BroadcastReceiver
« il: 04 Luglio 2013, 01:05:14 CEST »
0
Qualcuno mi da una mano? come inserisco un check box dentro ad un BroadcastReceiver? questo è una parte del codice (sbagliato)

Codice (Java): [Seleziona]
private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {        

            int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
                     . . .

            String[] statusbatt = {
                "Battery level: " +level+"%",
                . . .};
            ListView lvStatus = (ListView) findViewById(R.id.lv_status);
            lvStatus.setAdapter(new ArrayAdapter<String>(MainActivity.this, R.layout.list, statusbatt));
            info.getListViewSize(lvStatus);

            /// Qui il checkbox sbagliato
            public void onCheckBoxClicked(View v){

                if(v.getId()==R.id.checknotifi){
                    if(checknotifi.isChecked())
                     NotificationManager notifi = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
                     Notification notification = new Notification.Builder(getApplicationContext())
                     .setContentTitle("Battery Informations")
                     .setContentText("Batteria al"+" "+level+"%")
                     .setSmallIcon(R.drawable.icon_small_not)
                     .setTicker(level+"%")
                     .build();

                     notification.flags = Notification.FLAG_ONGOING_EVENT;

                     Intent i = new Intent(context, MainActivity.class);

                     PendingIntent penInt = PendingIntent.getActivity(getApplicationContext(), 0 , i , 0);

                     notifi.notify(215,notification);
                    else
                        Toast.makeText(MainActivity.this, "Notification disabled", Toast.LENGTH_LONG).show();
                }

        }      

    };
Ho bisogno di questo checkbox per determinare se visualizzare la notifica o meno nella barra di stato. Solo che non posso farlo al di fuori del Broadcast poichè li dentro ho le varie variabili che mi servono. Qualche aiuto?Va inserito li? Nel onReceive?

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Re:Inserire checkbox in BroadcastReceiver
« Risposta #1 il: 04 Luglio 2013, 06:55:24 CEST »
0
Vi prego, so che è sbagliatissimo il codice ma è per far capire cosa intendo fare.

Inviato dal mio Nexus 4


Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Inserire checkbox in BroadcastReceiver
« Risposta #2 il: 04 Luglio 2013, 09:22:31 CEST »
0
La strada è sbagliata.
Devi inserire il checkbox in una videata di impostazioni e salvarlo nelle shared preferences per esempio.

All'interno del Broadcast, puoi recuperare il valore precedentemente salvato, e comportarti di conseguenza.

Da ultimo ti consiglio questo.
Professional Android 4 Application Development: Amazon.it: Reto Meier: Libri in altre lingue

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Re:Inserire checkbox in BroadcastReceiver
« Risposta #3 il: 04 Luglio 2013, 09:52:49 CEST »
0
La strada è sbagliata.
Devi inserire il checkbox in una videata di impostazioni e salvarlo nelle shared preferences per esempio.

All'interno del Broadcast, puoi recuperare il valore precedentemente salvato, e comportarti di conseguenza.

Da ultimo ti consiglio questo.
Professional Android 4 Application Development: Amazon.it: Reto Meier: Libri in altre lingue
Grazie ancora Gabriele del tuo aiuto. Io in effetti pensavo di fare un'activity apposta per le importazioni però appunto ancora qualcosa mi sfugge. Io infine creo una normale activity per esempio "settings" con il relativo layout.. e poi i checkbox come li collego alla MainActivity e tra l'altro alla parte relativa alle varie impostazioni riguardanti i valori della batteria? Lo so che sono uno stress però ogni volta mi si presenta un problema diverso.