Autore Topic: aiuto time picket  (Letto 445 volte)

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
aiuto time picket
« il: 11 Gennaio 2015, 18:14:23 CET »
0
ciao a tutti , sono un  principiante e mi approccio da poco tempo al mondo android

vorrei realizzare un'applicazione sveglia che ad un certo orario, settato tramite time picker, faccia suonare una determinata suoneria.

ho realizzate una activity con il codice relativo al time picker

public class SecondActivity  extends FragmentActivity {

    int hour;
    int minute;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        TimePicker uno = (TimePicker) findViewById(R.id.Picker1);
        uno.setEnabled(true);
        uno.setCurrentHour(hour);
        uno.setCurrentMinute(minute);
        uno.setIs24HourView(true);

        Calendar c=Calendar.getInstance();
        hour = c.get(Calendar.HOUR_OF_DAY);
        minute = c.get(Calendar.MINUTE);

       


    }
come posso utilizzare i valori settati ?

grazie per l'aiuto

Offline robyrocker89

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • roberto-tucci
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows
Re:aiuto time picket
« Risposta #1 il: 12 Gennaio 2015, 11:42:12 CET »
0
Ciao,
ti consiglio di guardare il tutorial di Google riguardo al settaggio di un AlarmManager.  ;-)
https://developer.android.com/training/scheduling/alarms.html
« Ultima modifica: 12 Gennaio 2015, 11:45:38 CET da robyrocker89 »
TimeReport: your time. In your pocket.

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
Re:aiuto time picket
« Risposta #2 il: 13 Gennaio 2015, 09:05:22 CET »
0
ciao ti ringrazio per consiglio
grazie al quale sono andato avanti nel progetto
ora ho un altro problema.

settando l'orario dell'alarm , l'applicazione mi va in crash

allego il codice dell'activity

public class SecondActivity  extends ActionBarActivity {

    int hour;
    int minute;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        AlarmManager alarm = (AlarmManager)getSystemService(ALARM_SERVICE);
        Intent i = new Intent(this, AlarmReceiver.class);
        PendingIntent alarmIntent=PendingIntent.getBroadcast(this,0,i,0);

        /*TimePicker uno = (TimePicker) findViewById(R.id.Picker1);
        uno.setEnabled(true);
        uno.setCurrentHour(0);
        uno.setCurrentMinute(0);
        uno.setIs24HourView(true);*/
        Calendar calendar= Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.set(Calendar.HOUR_OF_DAY,21);
        calendar.set(Calendar.MINUTE,45);


           alarm.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),1000*60*5,alarmIntent);
            }
        }

  poi il receiver

public class AlarmReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent){

        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
        {

           Toast toast=Toast.makeText( context,"SVEGLIAAAAAAAAA",Toast.LENGTH_LONG);
            toast.show();
        }
    }

}

infine il manifest


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.vincenzo.svegliasexy">

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SecondActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.SET_ALARM" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ThirdActivity"
            android:label="@string/app_name" >
            <category android:name="android.intent.category.DEFAULT" />
            <intent-filter>


            <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <receiver android:name=".AlarmReceiver" android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
            </intent-filter>
        </receiver>

    </application>

</manifest>



in effetti quando scatta l'orario dell'alarm, invece di partire il toast va in errore

sapreste dirmi dove sbaglio ???

inoltre , come si puo' evincere dal codice, vorrei settare l'orario tramite time picker ma , ovviamente non ci riesco.

accetto suggerimenti

grazie in anticipo, sto forum e' grandioso .

Offline robyrocker89

  • Utente junior
  • **
  • Post: 55
  • Respect: +1
    • roberto-tucci
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Sistema operativo:
    Windows
Re:aiuto time picket
« Risposta #3 il: 13 Gennaio 2015, 09:15:40 CET »
0
Ti va in crash perché probabilmente devi aggiungere le permissions nel manifest (nel link che ti ho postato in precedenza é descritto cosa devi fare). Per recuperare l'ora dal timepicker devi utilizzare i metodi getCurrentHour() e getCurrentMinute() (fai riferimento alla guida ufficiale della classe TimePicker...potrebbero esserci metodi più adatti al tuo caso). Ricordati che la classe AlarmManager vuole il tempo in millisecondi.

Ciao
TimeReport: your time. In your pocket.

Offline coverbags

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    win 8.1
Re:aiuto time picket
« Risposta #4 il: 15 Gennaio 2015, 09:46:37 CET »
0
ok risolto grazie mille.,davvero adesso funziona 
c'era un errore nei permessi , una lettera sbagliata . purtroppo  android studio non dava l'errore

ciao