Autore Topic: GCM Qualcuno lo usa??  (Letto 1751 volte)

Offline enzolarosa

  • Nuovo arrivato
  • *
  • Post: 7
    • Github
    • Google+
    • larosa.vincenzo.castelvetrano
    • enzolarosa
    • Mostra profilo
    • VincenzoLaRosa.it
  • Dispositivo Android:
    Ideos U8150
  • Play Store ID:
    Vincenzo La Rosa
  • Sistema operativo:
    Windows 7
GCM Qualcuno lo usa??
« il: 19 Febbraio 2013, 12:33:43 CET »
Ciao ragazzi da poco ho ripreso lo sviluppo con Android ed ora ho un po di dubbi su gcm.. qualcuno l'ha gia usato?.. esiste una guida completa in italiano ma anche in inglese va bene.. :)
Vincenzo La Rosa

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:GCM Qualcuno lo usa??
« Risposta #1 il: 19 Febbraio 2013, 13:49:34 CET »

Offline enzolarosa

  • Nuovo arrivato
  • *
  • Post: 7
    • Github
    • Google+
    • larosa.vincenzo.castelvetrano
    • enzolarosa
    • Mostra profilo
    • VincenzoLaRosa.it
  • Dispositivo Android:
    Ideos U8150
  • Play Store ID:
    Vincenzo La Rosa
  • Sistema operativo:
    Windows 7
Re:GCM Qualcuno lo usa??
« Risposta #2 il: 19 Febbraio 2013, 14:46:18 CET »
thank's do un occhiata :)

Post unito: 19 Febbraio 2013, 18:30:09 CET
ho provato a seguire la guida ma il tutto non funziona...
questo quello che esce su logcat

Codice: [Seleziona]
02-19 17:32:25.919: E/AndroidRuntime(305): FATAL EXCEPTION: main
02-19 17:32:25.919: E/AndroidRuntime(305): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.castelvetrano.selinunte/com.castelvetrano.selinunte.MainActivity}: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.os.Handler.dispatchMessage(Handler.java:99)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.os.Looper.loop(Looper.java:123)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread.main(ActivityThread.java:4627)
02-19 17:32:25.919: E/AndroidRuntime(305):         at java.lang.reflect.Method.invokeNative(Native Method)
02-19 17:32:25.919: E/AndroidRuntime(305):         at java.lang.reflect.Method.invoke(Method.java:521)
02-19 17:32:25.919: E/AndroidRuntime(305):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-19 17:32:25.919: E/AndroidRuntime(305):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-19 17:32:25.919: E/AndroidRuntime(305):         at dalvik.system.NativeStart.main(Native Method)
02-19 17:32:25.919: E/AndroidRuntime(305): Caused by: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
02-19 17:32:25.919: E/AndroidRuntime(305):         at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98)
02-19 17:32:25.919: E/AndroidRuntime(305):         at com.castelvetrano.selinunte.MainActivity.onCreate(MainActivity.java:68)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-19 17:32:25.919: E/AndroidRuntime(305):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-19 17:32:25.919: E/AndroidRuntime(305):         ... 11 more

la riga in questione è la seguente

Codice: [Seleziona]

GCMRegistrar.checkDevice(this);

« Ultima modifica: 19 Febbraio 2013, 18:35:29 CET da enzolarosa, Reason: Merged DoublePost »
Vincenzo La Rosa

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
    • Github
    • Google+
    • rciovati
    • Mostra profilo
R: GCM Qualcuno lo usa??
« Risposta #3 il: 20 Febbraio 2013, 08:53:56 CET »
Se stai usando l'emulatore assicurati che abbia le Google APIs.

Inviato dal mio Galaxy Nexus con Tapatalk 2


Offline enzolarosa

  • Nuovo arrivato
  • *
  • Post: 7
    • Github
    • Google+
    • larosa.vincenzo.castelvetrano
    • enzolarosa
    • Mostra profilo
    • VincenzoLaRosa.it
  • Dispositivo Android:
    Ideos U8150
  • Play Store ID:
    Vincenzo La Rosa
  • Sistema operativo:
    Windows 7
Re:GCM Qualcuno lo usa??
« Risposta #4 il: 20 Febbraio 2013, 18:56:49 CET »
niente non va.. non è d'accordo..

Codice: [Seleziona]
02-20 17:53:55.214: D/AndroidRuntime(330): Shutting down VM
02-20 17:53:55.214: W/dalvikvm(330): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-20 17:53:55.284: E/AndroidRuntime(330): FATAL EXCEPTION: main
02-20 17:53:55.284: E/AndroidRuntime(330): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.demo.gcm.app/com.demo.gcm.app.MainActivity}: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.os.Handler.dispatchMessage(Handler.java:99)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.os.Looper.loop(Looper.java:123)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread.main(ActivityThread.java:4627)
02-20 17:53:55.284: E/AndroidRuntime(330):         at java.lang.reflect.Method.invokeNative(Native Method)
02-20 17:53:55.284: E/AndroidRuntime(330):         at java.lang.reflect.Method.invoke(Method.java:521)
02-20 17:53:55.284: E/AndroidRuntime(330):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-20 17:53:55.284: E/AndroidRuntime(330):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-20 17:53:55.284: E/AndroidRuntime(330):         at dalvik.system.NativeStart.main(Native Method)
02-20 17:53:55.284: E/AndroidRuntime(330): Caused by: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
02-20 17:53:55.284: E/AndroidRuntime(330):         at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98)
02-20 17:53:55.284: E/AndroidRuntime(330):         at com.demo.gcm.app.MainActivity.onCreate(MainActivity.java:34)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-20 17:53:55.284: E/AndroidRuntime(330):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-20 17:53:55.284: E/AndroidRuntime(330):         ... 11 more
02-20 17:53:57.983: I/Process(330): Sending signal. PID: 330 SIG: 9

questo è il codice che ho usato dentro l'activity principale

Codice: [Seleziona]
/*GCM*/
                GCMRegistrar.checkDevice( this );
            GCMRegistrar.checkManifest( this );
            String regId = GCMRegistrar.getRegistrationId( this );
            if( regId.equals( "" ) ) {
                GCMRegistrar.register( this, SENDER_ID );
                regId = GCMRegistrar.getRegistrationId( this );
                Log.i("GCM - ID", "Id registrazione = " + regId);
            }
            else {
                Log.v("GCM", "Already registered" );
            }
            /*GCM*/

e questo è il manifest

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.demo.gcm.appe"
    android:versionCode="1"
    android:versionName="1.0" android:installLocation="preferExternal">
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />
         <uses-permission android:name="android.permission.INTERNET" />
         <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
       
    <!-- GCM connects to Google Services. -->        
         <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
         <uses-permission android:name="android.permission.READ_PHONE_STATE" />
         <uses-permission android:name="android.permission.GET_ACCOUNTS" />
         <uses-permission android:name="android.permission.WAKE_LOCK" />
         <permission
                 android:name="com.demo.gcm.appe.permission.C2D_MESSAGE"
                 android:protectionLevel="signature" />
         <uses-permission android:name="com.demo.gcm.appe.permission.C2D_MESSAGE" />
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />   
   
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">
       
        <activity
            android:name="com.demo.gcm.appe.MainActivity"
            android:label="@string/app_name"
            android:configChanges="locale"
            android:theme="@style/CustomTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>               
                <receiver
                    android:name="com.google.android.gcm.GCMBroadcastReceiver"
                    android:permission="com.google.android.c2dm.permission.SEND" >
                    <intent-filter>
                        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                        <category android:name="com.demo.gcm.appe" />
                    </intent-filter>
                </receiver>
                <service android:name=".GCMIntentService" />               
    </application>
</manifest>

ho messo anche l'emulatore con google api (level 8)... che dovrebbe essere il minimo che si richiede per gcm..
Vincenzo La Rosa

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:GCM Qualcuno lo usa??
« Risposta #5 il: 20 Febbraio 2013, 19:03:48 CET »
hai installato dall'sdk manager sotto extra la libreria GCM?
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 enzolarosa

  • Nuovo arrivato
  • *
  • Post: 7
    • Github
    • Google+
    • larosa.vincenzo.castelvetrano
    • enzolarosa
    • Mostra profilo
    • VincenzoLaRosa.it
  • Dispositivo Android:
    Ideos U8150
  • Play Store ID:
    Vincenzo La Rosa
  • Sistema operativo:
    Windows 7
Re:GCM Qualcuno lo usa??
« Risposta #6 il: 20 Febbraio 2013, 19:20:07 CET »
Si
Vincenzo La Rosa