Autore Topic: Activity che parte all'accensione del telefono  (Letto 2191 volte)

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Activity che parte all'accensione del telefono
« il: 03 Gennaio 2012, 13:27:34 CET »
0
Ciao ragazzi,

questo è il primo post. Ho da poco entusiasticamente scoperto anddev.it !!!

Complimenti a tutti. Ho letto cose utilissime.

Vi pongo subito un quesito e ringrazio anticipatamente tutti coloro che vorranno partecipare al topic :

come fare ad avviare un'applicazione all'accensione del telefono ? E' possibile simularlo sull'emulatore eclipse ? Come ?

grazie

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Activity che parte all'accensione del telefono
« Risposta #1 il: 03 Gennaio 2012, 13:33:35 CET »
0
devi registrare l'applicazione con il messaggio di broadcast bootcompleted, se vuoi testare sull'emulatore, devi disattivare gli snapshot e chiudere e riaprire l'emulatore!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #2 il: 03 Gennaio 2012, 13:59:21 CET »
0
devi registrare l'applicazione con il messaggio di broadcast bootcompleted, se vuoi testare sull'emulatore, devi disattivare gli snapshot e chiudere e riaprire l'emulatore!

Scusami l'ovvietà, Daniele, cos'è il "messaggio di broadcast bootcompleted" ? e come registro l'applicazione ?

Dimenticavo, posso simulare l'accensione del telefono usando la perspective DDMS ? come ?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Activity che parte all'accensione del telefono
« Risposta #3 il: 03 Gennaio 2012, 14:04:53 CET »
0
Scusami l'ovvietà, Daniele, cos'è il "messaggio di broadcast bootcompleted" ? e come registro l'applicazione ?

Tolta la parte dei Service, questo è un esempio.
Start Service at boot | Android Competency Center

Dimenticavo, posso simulare l'accensione del telefono usando la perspective DDMS ? come ?

Chiudi l'emulatore e lo riavvii.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #4 il: 03 Gennaio 2012, 19:22:12 CET »
0
ho provato, ma non funziaaaaaaaa !

Posto il codice :

Codice (Java): [Seleziona]
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class OnomasticBroadcastReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
                Intent myIntent = new Intent();
                myIntent.setAction("ldc.android.apps.OnomasticiActivity");
                context.startActivity(myIntent);
        }
}

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="ldc.android.apps"
     android:versionCode="1"
     android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".OnomasticiActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


                <receiver android:name="OnomasticBroadcastReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                                <category android:name="android.intent.category.HOME" />
                        </intent-filter>
                </receiver>

    </application>
   
   

</manifest>

appena riavvio crasha !

Dove sbaglio ?

Zate

  • Visitatore
Re:Activity che parte all'accensione del telefono
« Risposta #5 il: 03 Gennaio 2012, 19:46:25 CET »
0
Tra i commenti del link sopra ne ho trovato uno che diceva di aggiungere:
Codice (XML): [Seleziona]
android.permission.RECEIVE_BOOT_COMPLETEDHai già provato?
P.S. se non funziona prova a postare il logcat  ;-)
« Ultima modifica: 03 Gennaio 2012, 19:51:21 CET da Zate »

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #6 il: 07 Gennaio 2012, 13:41:47 CET »
0
si, purtroppo non va ancora.

il logcat è bianco

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Activity che parte all'accensione del telefono
« Risposta #7 il: 07 Gennaio 2012, 14:17:12 CET »
0
Beh l'errore è semplice, tu hai usato un action che in realtà non hai associato alla tua activity.
Puoi risolvere in due modi:

- Dai all'activity l'attributo action <action android:name="ldc.android.apps.OnomasticiActivity" />

oppure

- Cambi l'intent che usi per far partire l'activity in questo modo:

Codice (Java): [Seleziona]
                Intent myIntent = new Intent(context, OnomasticiActivity.class);
                context.startActivity(myIntent);
« Ultima modifica: 07 Gennaio 2012, 14:18:55 CET da Ricky` »

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #8 il: 07 Gennaio 2012, 19:44:39 CET »
0
grazie ricky, ma non va.

Codice (Java): [Seleziona]
package ldc.android.apps;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class OnomasticBroadcastReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
                Intent myIntent = new Intent(context, OnomasticiActivity.class);
        context.startActivity(myIntent);
        }
}

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="ldc.android.apps"
     android:versionCode="1"
     android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
   
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".OnomasticiActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
                <receiver android:name="OnomasticBroadcastReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                                <category android:name="android.intent.category.HOME" />
                        </intent-filter>
                </receiver>
    </application>
</manifest>

Allego anche il logcat.

Non riesco a capire ...


Zate

  • Visitatore
Re:Activity che parte all'accensione del telefono
« Risposta #9 il: 07 Gennaio 2012, 20:00:29 CET »
0
Penso che il problema adesso sia di un Cursor. Prova a postare un po' di codice.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Activity che parte all'accensione del telefono
« Risposta #10 il: 07 Gennaio 2012, 21:24:41 CET »
0
grazie ricky, ma non va.

Non va un'altra cosa, ora almeno l'activity parte ;)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Activity che parte all'accensione del telefono
« Risposta #11 il: 08 Gennaio 2012, 10:47:42 CET »
0
Penso che il problema adesso sia di un Cursor. Prova a postare un po' di codice.

Concordo.

In più aggiungo un consiglio che mi fu dato quando iniziai a scrivere codice al tempo dei monitor a fosfori verdi: quando si sta scrivendo codice con funzionalità mai provate prima, buttarlo giù tutto e fare RUN aumenta esponenzialmente il tempo e la fatica. Meglio separare i problemi e fare un passo per volta. Per provare BOOT_COMPLETED, dichiara l'intent e nel receiver fai uscire un Toast. Se va, allora sostituisci il toast con l'avvio di una activity vuota (dal LogCat che hai postato si evince che questo funzionerebbe, ma farlo non è mai un male). Poi sviluppa l'activity che devi lanciare, ma prima di associarla al boot_completed falla partire con un button e testala completamente.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #12 il: 08 Gennaio 2012, 16:17:49 CET »
0
grazie bradipao del consiglio.

L'ho seguito e mi conferma quello che sospettavo e che chiedevo nei miei post precedenti.

L'activity (OnomasticiActivity.class) funziona. Testata a parte va.

MEntre se metto un toast nel receiver :

Codice (Java): [Seleziona]
package ldc.android.apps;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class OnomasticBroadcastReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
                /*
                Intent myIntent = new Intent(context, OnomasticiActivity.class);
        context.startActivity(myIntent);
        */

                Toast.makeText(context, "Receiver OK !", Toast.LENGTH_SHORT).show();
        }
}

ottengo il seguente logcat (allegato).

che ne pensate ? cosa posso fare ?

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #13 il: 08 Gennaio 2012, 16:18:34 CET »
0
Il problema potrebbe essere nel manifest ?

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="ldc.android.apps"
     android:versionCode="1"
     android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
   
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".OnomasticiActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

                <receiver android:name="OnomasticBroadcastReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                                <category android:name="android.intent.category.HOME" />
                        </intent-filter>
                </receiver>

    </application>
   
</manifest>

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Activity che parte all'accensione del telefono
« Risposta #14 il: 08 Gennaio 2012, 16:22:11 CET »
0
Penso che il problema adesso sia di un Cursor. Prova a postare un po' di codice.