Autore Topic: app SMS - salvataggio SMS ricevuto  (Letto 1636 volte)

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
app SMS - salvataggio SMS ricevuto
« il: 01 Settembre 2011, 23:11:21 CEST »
0
ciao ragazzi, sono nuovo, è da 2 giorni che vado in giro in cerca di una soluzione al mio problema, spero di aver scelto la sezione giusta dove postare.. sostanzialmente voglio fare un app di messaggistica, grazie a tutorial vari sono riuscito a fare un'app che invia e riceve messaggi, ma quando cattura il messaggio ricevuto, riesco a farlo visualizzare solo tramite un Toast, ho provato a farlo scrivere su una TextView ma non potendo estendere la classe Activity non è in grado di eseguire la findViewById e quindi non riesco a scriverlo in altro modo.. come posso fare?? sto impazzendo!!!
vi posto il codice java che riceve il messaggio:

Codice (Java): [Seleziona]
package net.learn2develop.SMSMessaging;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;
import android.widget.TextView;

public class SmsReceiver extends BroadcastReceiver
{
       
        //TextView txt;
        @Override
        public void onReceive(Context context, Intent intent)
        {
                //---get the SMS message passed in---
                Bundle bundle=intent.getExtras();
                SmsMessage[] msgs=null;
                String str="";
                if(bundle!= null)
                {
                        //richiama l'sms ricevuto
                        Object[] pdus=(Object[])bundle.get("pdus");
                        msgs=new SmsMessage[pdus.length];
                       
                        for(int i=0;i<msgs.length;i++)
                        {
                                msgs[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
                                str += "SMS From " + msgs[i].getOriginatingAddress();
                                str += " :";
                                str += msgs[i].getMessageBody().toString();
                                str += "\n";
                        }
                        //mostra il messaggio
                        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                        //txt=(TextView) findViewById(R.id.textView1);
                        //txt.setText(str);
                }
        }
}

grazie mille in anticipo

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #1 il: 02 Settembre 2011, 09:42:50 CEST »
0
fai partire un'activity che mostra il messaggio....
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
Re:app SMS - salvataggio SMS ricevuto
« Risposta #2 il: 02 Settembre 2011, 11:43:00 CEST »
0
fai partire un'activity che mostra il messaggio....
scusa sono abbastanza alle prime armi nella programmazione android.. mi potresti spiegare come? grazie mille :-)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #3 il: 02 Settembre 2011, 14:25:40 CEST »
+1
se sei alle prime armi, ti conviene cominciare a lavorare con le basi, così da avere certi concetti ben saldi.

Dai un'occhiata a questo link... dovrebbe chiarirti le cose.

Una domanda: hai provato a cercare su google come si fa?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
Re:app SMS - salvataggio SMS ricevuto
« Risposta #4 il: 02 Settembre 2011, 14:35:26 CEST »
0
se sei alle prime armi, ti conviene cominciare a lavorare con le basi, così da avere certi concetti ben saldi.

Dai un'occhiata a questo link... dovrebbe chiarirti le cose.

Una domanda: hai provato a cercare su google come si fa?
sono abbastanza alle prime armi nel senso che non è da molto che programmo per android ma le mie prove di applicazioni basilari me le sono già fatte e le basi le ho già fissate abbastanza..

ovviamente ho cercato su google ma non sono riuscito a trovare una risposta.. sennò non avrei postato una domanda :)

comunque non riesco a capire cosa intendi con "fai partire un'activity che mostra il messaggio...." .. ci ho provato ma non ne vengo fuori..

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #5 il: 02 Settembre 2011, 16:03:02 CEST »
0
hai dato un'occhiata al link che ti ho postato?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
Re:app SMS - salvataggio SMS ricevuto
« Risposta #6 il: 02 Settembre 2011, 16:10:05 CEST »
0
hai dato un'occhiata al link che ti ho postato?
si ho guardato, ho creato una nuova classe che estende Activity, e tramite questa pensavo di fargli scrivere il messaggio sulla TextView, ma non ci sono ancora riuscito.. ho provato in vari modi.. questa è la nuova classe:
Codice (Java): [Seleziona]
package net.learn2develop.SMSMessaging;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class PostMessageActivity extends Activity {
       
        TextView barraNotifiche;
        String txt;
       
        public PostMessageActivity(String str) {
                barraNotifiche=(TextView) findViewById(R.id.textView1);
                txt=str;
        }
       
        public void postMessage(String str) {
                barraNotifiche.setText(str);
        }
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        }
       
}

solo che non riesco a capire come farla eseguire.. sto facendo confusione però.. puoi aiutarmi?

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:app SMS - salvataggio SMS ricevuto
« Risposta #7 il: 02 Settembre 2011, 17:04:11 CEST »
+1
Questo è il codice che ti serve per startare una nuova Activity

Codice (Java): [Seleziona]
     Intent intent = new Intent();
     intent.setAction("android.intent.action.POST_MESSAGE_ACTIVITY");
     startActivity(intent);    

     //La stringa android.intent.action.POST_MESSAGE_ACTIVITY identifica la tua Activity nel file AndroidManifest.xml
     //        <activity android:name=".PostMessageActivity">
     //       <intent-filter>
     //           <action android:name="android.intent.action.POST_MESSAGE_ACTIVITY" />
     //           <category android:name="android.intent.category.DEFAULT" />
     //       </intent-filter>
     //   </activity>

per quanto riguarda invece il passaggio di parametri, se non ho capito male alla nuova Activity gli devi far visualizzare il messaggio, ti rimando a questo link http://www.anddev.it/index.php/topic,104.0.html

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
Re:app SMS - salvataggio SMS ricevuto
« Risposta #8 il: 02 Settembre 2011, 21:20:05 CEST »
0
Questo è il codice che ti serve per startare una nuova Activity

Codice (Java): [Seleziona]
     Intent intent = new Intent();
     intent.setAction("android.intent.action.POST_MESSAGE_ACTIVITY");
     startActivity(intent);    

     //La stringa android.intent.action.POST_MESSAGE_ACTIVITY identifica la tua Activity nel file AndroidManifest.xml
     //        <activity android:name=".PostMessageActivity">
     //       <intent-filter>
     //           <action android:name="android.intent.action.POST_MESSAGE_ACTIVITY" />
     //           <category android:name="android.intent.category.DEFAULT" />
     //       </intent-filter>
     //   </activity>

per quanto riguarda invece il passaggio di parametri, se non ho capito male alla nuova Activity gli devi far visualizzare il messaggio, ti rimando a questo link http://www.anddev.it/index.php/topic,104.0.html

ho provato a fare come mi hai appena spiegato, ma non appena la mia app riceve un messaggio va in crash e fa un force close, non riesco a capire da cosa dipenda.. ma.. non c'è un modo più semplice per scrivere il messaggio su una view invece che dover creare una nuova activity?
comunque se può esserti d'aiuto questo è il codice ora:

Codice (Java): [Seleziona]
package net.learn2develop.SMSMessaging;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver
{
        Context con;
       
        @Override
        public void onReceive(Context context, Intent intent)
        {
                //---get the SMS message passed in---
                Bundle bundle=intent.getExtras();
                SmsMessage[] msgs=null;
                String str="";
                if(bundle!= null)
                {
                        //richiama l'sms ricevuto
                        Object[] pdus=(Object[])bundle.get("pdus");
                        msgs=new SmsMessage[pdus.length];
                       
                        for(int i=0;i<msgs.length;i++)
                        {
                                msgs[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
                                str += "SMS From " + msgs[i].getOriginatingAddress();
                                str += " :";
                                str += msgs[i].getMessageBody().toString();
                                str += "\n";
                        }
                        //mostra il messaggio
                        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                       
                        con.getApplicationContext();
                       
                        Intent poster=new Intent();
                        poster.setAction("android.intent.action.POST_MESSAGE_ACTIVITY");
                       
                        String pkg=con.getPackageName();
                       
                        poster.putExtra(pkg+".mymsg", str);
                       
                        con.startActivity(poster);
                       
                }
        }
}
e questo è il logcat:
Codice: [Seleziona]
09-02 19:22:55.782: DEBUG/AndroidRuntime(328): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
09-02 19:22:55.782: DEBUG/AndroidRuntime(328): CheckJNI is ON
09-02 19:22:56.022: DEBUG/AndroidRuntime(328): --- registering native functions ---
09-02 19:22:57.102: DEBUG/dalvikvm(179): GC_EXPLICIT freed 72 objects / 3504 bytes in 171ms
09-02 19:22:57.175: DEBUG/PackageParser(66): Scanning package: /data/app/vmdl53414.tmp
09-02 19:22:57.382: DEBUG/dalvikvm(66): GC_FOR_MALLOC freed 12141 objects / 615560 bytes in 164ms
09-02 19:22:57.832: INFO/PackageManager(66): Removing non-system package:net.learn2develop.SMSMessaging
09-02 19:22:57.832: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:58.052: DEBUG/PackageManager(66): Scanning package net.learn2develop.SMSMessaging
09-02 19:22:58.052: INFO/PackageManager(66): Package net.learn2develop.SMSMessaging codePath changed from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk; Retaining data and using new
09-02 19:22:58.062: INFO/PackageManager(66): /data/app/net.learn2develop.SMSMessaging-2.apk changed; unpacking
09-02 19:22:58.072: DEBUG/installd(34): DexInv: --- BEGIN '/data/app/net.learn2develop.SMSMessaging-2.apk' ---
09-02 19:22:58.712: DEBUG/dalvikvm(335): DexOpt: load 177ms, verify 150ms, opt 36ms
09-02 19:22:58.712: DEBUG/installd(34): DexInv: --- END '/data/app/net.learn2develop.SMSMessaging-2.apk' (success) ---
09-02 19:22:58.722: WARN/PackageManager(66): Code path for pkg : net.learn2develop.SMSMessaging changing from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:58.722: WARN/PackageManager(66): Resource path for pkg : net.learn2develop.SMSMessaging changing from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:58.722: DEBUG/PackageManager(66):   Receivers: net.learn2develop.SMSMessaging.SmsReceiver
09-02 19:22:58.722: DEBUG/PackageManager(66):   Activities: net.learn2develop.SMSMessaging.SMS net.learn2develop.SMSMessaging.PostMessageActivity
09-02 19:22:58.732: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:58.932: INFO/installd(34): move /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-2.apk@classes.dex -> /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-2.apk@classes.dex
09-02 19:22:58.941: DEBUG/PackageManager(66): New package installed in /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:59.151: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:59.911: DEBUG/dalvikvm(127): GC_EXPLICIT freed 150 objects / 5632 bytes in 746ms
09-02 19:23:00.291: DEBUG/dalvikvm(66): GC_EXPLICIT freed 6007 objects / 403536 bytes in 370ms
09-02 19:23:00.291: INFO/installd(34): unlink /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-1.apk@classes.dex
09-02 19:23:00.311: DEBUG/AndroidRuntime(328): Shutting down VM
09-02 19:23:00.361: DEBUG/dalvikvm(328): Debugger has detached; object registry had 1 entries
09-02 19:23:00.421: INFO/AndroidRuntime(328): NOTE: attach of thread 'Binder Thread #3' failed
09-02 19:23:00.691: WARN/RecognitionManagerService(66): no available voice recognition services found
09-02 19:23:01.851: DEBUG/AndroidRuntime(340): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
09-02 19:23:01.851: DEBUG/AndroidRuntime(340): CheckJNI is ON
09-02 19:23:02.142: DEBUG/AndroidRuntime(340): --- registering native functions ---
09-02 19:23:03.341: INFO/ActivityManager(66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=net.learn2develop.SMSMessaging/.SMS }
09-02 19:23:03.451: DEBUG/AndroidRuntime(340): Shutting down VM
09-02 19:23:03.451: DEBUG/dalvikvm(340): Debugger has detached; object registry had 1 entries
09-02 19:23:03.531: INFO/AndroidRuntime(340): NOTE: attach of thread 'Binder Thread #3' failed
09-02 19:23:03.671: INFO/ActivityManager(66): Start proc net.learn2develop.SMSMessaging for activity net.learn2develop.SMSMessaging/.SMS: pid=347 uid=10036 gids={}
09-02 19:23:05.421: INFO/ActivityManager(66): Displayed activity net.learn2develop.SMSMessaging/.SMS: 2041 ms (total 2041 ms)
09-02 19:23:10.622: DEBUG/dalvikvm(179): GC_EXPLICIT freed 89 objects / 8024 bytes in 171ms
09-02 19:23:15.602: DEBUG/dalvikvm(127): GC_EXPLICIT freed 625 objects / 35744 bytes in 138ms
09-02 19:23:20.671: DEBUG/dalvikvm(262): GC_EXPLICIT freed 221 objects / 10424 bytes in 157ms
09-02 19:23:27.212: DEBUG/AndroidRuntime(347): Shutting down VM
09-02 19:23:27.212: WARN/dalvikvm(347): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-02 19:23:27.244: ERROR/AndroidRuntime(347): FATAL EXCEPTION: main
09-02 19:23:27.244: ERROR/AndroidRuntime(347): java.lang.RuntimeException: Unable to start receiver net.learn2develop.SMSMessaging.SmsReceiver: java.lang.NullPointerException
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2821)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.access$3200(ActivityThread.java:125)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.os.Looper.loop(Looper.java:123)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at java.lang.reflect.Method.invokeNative(Native Method)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at java.lang.reflect.Method.invoke(Method.java:521)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at dalvik.system.NativeStart.main(Native Method)
09-02 19:23:27.244: ERROR/AndroidRuntime(347): Caused by: java.lang.NullPointerException
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at net.learn2develop.SMSMessaging.SmsReceiver.onReceive(SmsReceiver.java:39)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2810)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     ... 10 more
09-02 19:23:27.282: WARN/ActivityManager(66):   Force finishing activity net.learn2develop.SMSMessaging/.SMS
09-02 19:23:27.432: VERBOSE/Telephony(208): getOrCreateThreadId uri: content://mms-sms/threadID?recipient=15555215556
09-02 19:23:27.752: VERBOSE/Telephony(208): getOrCreateThreadId cursor cnt: 1
09-02 19:23:27.792: WARN/ActivityManager(66): Activity pause timeout for HistoryRecord{45016f20 net.learn2develop.SMSMessaging/.SMS}
09-02 19:23:28.912: DEBUG/Mms:app(208): getSmsNewMessageNotificationInfo: count=4, first addr=15555215556, thread_id=2
09-02 19:23:28.952: WARN/NotificationService(66): STOP command without a player
09-02 19:23:29.062: DEBUG/MediaPlayer(66): Couldn't open file on client side, trying server side
09-02 19:23:29.062: ERROR/MediaPlayerService(33): Couldn't open fd for content://settings/system/notification_sound
09-02 19:23:29.062: ERROR/MediaPlayer(66): Unable to to create media player
09-02 19:23:29.072: WARN/NotificationService(66): error loading sound for content://settings/system/notification_sound
09-02 19:23:29.072: WARN/NotificationService(66): java.io.IOException: setDataSource failed.: status=0x80000000
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(Native Method)
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:716)
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:671)
09-02 19:23:29.072: WARN/NotificationService(66):     at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:88)
09-02 19:23:33.741: DEBUG/dalvikvm(163): GC_EXPLICIT freed 1716 objects / 90928 bytes in 164ms
09-02 19:23:38.106: WARN/ActivityManager(66): Activity destroy timeout for HistoryRecord{45016f20 net.learn2develop.SMSMessaging/.SMS}
09-02 19:23:38.771: DEBUG/dalvikvm(208): GC_EXPLICIT freed 673 objects / 33352 bytes in 175ms
« Ultima modifica: 02 Settembre 2011, 21:27:41 CEST da teo_ »

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #9 il: 09 Settembre 2011, 12:55:44 CEST »
0
Questo è il codice che ti serve per startare una nuova Activity

Codice (Java): [Seleziona]
     Intent intent = new Intent();
     intent.setAction("android.intent.action.POST_MESSAGE_ACTIVITY");
     startActivity(intent);    

     //La stringa android.intent.action.POST_MESSAGE_ACTIVITY identifica la tua Activity nel file AndroidManifest.xml
     //        <activity android:name=".PostMessageActivity">
     //       <intent-filter>
     //           <action android:name="android.intent.action.POST_MESSAGE_ACTIVITY" />
     //           <category android:name="android.intent.category.DEFAULT" />
     //       </intent-filter>
     //   </activity>

per quanto riguarda invece il passaggio di parametri, se non ho capito male alla nuova Activity gli devi far visualizzare il messaggio, ti rimando a questo link http://www.anddev.it/index.php/topic,104.0.html


scusa, ma il miglior modo per aiutare qualcuno, in casi come questo, non è il passare codice già bello e pronto, perché avrei potuto farlo anche io prima, ma cercare di fare capire come utilizzare le risorse a disposizione.
Nel link che gli ho postato, c'è scritto come fare quello che hai detto tu.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #10 il: 09 Settembre 2011, 12:57:25 CEST »
+1
ho provato a fare come mi hai appena spiegato, ma non appena la mia app riceve un messaggio va in crash e fa un force close, non riesco a capire da cosa dipenda.. ma.. non c'è un modo più semplice per scrivere il messaggio su una view invece che dover creare una nuova activity?
comunque se può esserti d'aiuto questo è il codice ora:

Codice (Java): [Seleziona]
package net.learn2develop.SMSMessaging;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver
{
        Context con;
       
        @Override
        public void onReceive(Context context, Intent intent)
        {
                //---get the SMS message passed in---
                Bundle bundle=intent.getExtras();
                SmsMessage[] msgs=null;
                String str="";
                if(bundle!= null)
                {
                        //richiama l'sms ricevuto
                        Object[] pdus=(Object[])bundle.get("pdus");
                        msgs=new SmsMessage[pdus.length];
                       
                        for(int i=0;i<msgs.length;i++)
                        {
                                msgs[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
                                str += "SMS From " + msgs[i].getOriginatingAddress();
                                str += " :";
                                str += msgs[i].getMessageBody().toString();
                                str += "\n";
                        }
                        //mostra il messaggio
                        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                       
                        con.getApplicationContext();
                       
                        Intent poster=new Intent();
                        poster.setAction("android.intent.action.POST_MESSAGE_ACTIVITY");
                       
                        String pkg=con.getPackageName();
                       
                        poster.putExtra(pkg+".mymsg", str);
                       
                        con.startActivity(poster);
                       
                }
        }
}
e questo è il logcat:
Codice: [Seleziona]
09-02 19:22:55.782: DEBUG/AndroidRuntime(328): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
09-02 19:22:55.782: DEBUG/AndroidRuntime(328): CheckJNI is ON
09-02 19:22:56.022: DEBUG/AndroidRuntime(328): --- registering native functions ---
09-02 19:22:57.102: DEBUG/dalvikvm(179): GC_EXPLICIT freed 72 objects / 3504 bytes in 171ms
09-02 19:22:57.175: DEBUG/PackageParser(66): Scanning package: /data/app/vmdl53414.tmp
09-02 19:22:57.382: DEBUG/dalvikvm(66): GC_FOR_MALLOC freed 12141 objects / 615560 bytes in 164ms
09-02 19:22:57.832: INFO/PackageManager(66): Removing non-system package:net.learn2develop.SMSMessaging
09-02 19:22:57.832: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:58.052: DEBUG/PackageManager(66): Scanning package net.learn2develop.SMSMessaging
09-02 19:22:58.052: INFO/PackageManager(66): Package net.learn2develop.SMSMessaging codePath changed from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk; Retaining data and using new
09-02 19:22:58.062: INFO/PackageManager(66): /data/app/net.learn2develop.SMSMessaging-2.apk changed; unpacking
09-02 19:22:58.072: DEBUG/installd(34): DexInv: --- BEGIN '/data/app/net.learn2develop.SMSMessaging-2.apk' ---
09-02 19:22:58.712: DEBUG/dalvikvm(335): DexOpt: load 177ms, verify 150ms, opt 36ms
09-02 19:22:58.712: DEBUG/installd(34): DexInv: --- END '/data/app/net.learn2develop.SMSMessaging-2.apk' (success) ---
09-02 19:22:58.722: WARN/PackageManager(66): Code path for pkg : net.learn2develop.SMSMessaging changing from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:58.722: WARN/PackageManager(66): Resource path for pkg : net.learn2develop.SMSMessaging changing from /data/app/net.learn2develop.SMSMessaging-1.apk to /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:58.722: DEBUG/PackageManager(66):   Receivers: net.learn2develop.SMSMessaging.SmsReceiver
09-02 19:22:58.722: DEBUG/PackageManager(66):   Activities: net.learn2develop.SMSMessaging.SMS net.learn2develop.SMSMessaging.PostMessageActivity
09-02 19:22:58.732: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:58.932: INFO/installd(34): move /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-2.apk@classes.dex -> /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-2.apk@classes.dex
09-02 19:22:58.941: DEBUG/PackageManager(66): New package installed in /data/app/net.learn2develop.SMSMessaging-2.apk
09-02 19:22:59.151: INFO/ActivityManager(66): Force stopping package net.learn2develop.SMSMessaging uid=10036
09-02 19:22:59.911: DEBUG/dalvikvm(127): GC_EXPLICIT freed 150 objects / 5632 bytes in 746ms
09-02 19:23:00.291: DEBUG/dalvikvm(66): GC_EXPLICIT freed 6007 objects / 403536 bytes in 370ms
09-02 19:23:00.291: INFO/installd(34): unlink /data/dalvik-cache/data@app@net.learn2develop.SMSMessaging-1.apk@classes.dex
09-02 19:23:00.311: DEBUG/AndroidRuntime(328): Shutting down VM
09-02 19:23:00.361: DEBUG/dalvikvm(328): Debugger has detached; object registry had 1 entries
09-02 19:23:00.421: INFO/AndroidRuntime(328): NOTE: attach of thread 'Binder Thread #3' failed
09-02 19:23:00.691: WARN/RecognitionManagerService(66): no available voice recognition services found
09-02 19:23:01.851: DEBUG/AndroidRuntime(340): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
09-02 19:23:01.851: DEBUG/AndroidRuntime(340): CheckJNI is ON
09-02 19:23:02.142: DEBUG/AndroidRuntime(340): --- registering native functions ---
09-02 19:23:03.341: INFO/ActivityManager(66): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=net.learn2develop.SMSMessaging/.SMS }
09-02 19:23:03.451: DEBUG/AndroidRuntime(340): Shutting down VM
09-02 19:23:03.451: DEBUG/dalvikvm(340): Debugger has detached; object registry had 1 entries
09-02 19:23:03.531: INFO/AndroidRuntime(340): NOTE: attach of thread 'Binder Thread #3' failed
09-02 19:23:03.671: INFO/ActivityManager(66): Start proc net.learn2develop.SMSMessaging for activity net.learn2develop.SMSMessaging/.SMS: pid=347 uid=10036 gids={}
09-02 19:23:05.421: INFO/ActivityManager(66): Displayed activity net.learn2develop.SMSMessaging/.SMS: 2041 ms (total 2041 ms)
09-02 19:23:10.622: DEBUG/dalvikvm(179): GC_EXPLICIT freed 89 objects / 8024 bytes in 171ms
09-02 19:23:15.602: DEBUG/dalvikvm(127): GC_EXPLICIT freed 625 objects / 35744 bytes in 138ms
09-02 19:23:20.671: DEBUG/dalvikvm(262): GC_EXPLICIT freed 221 objects / 10424 bytes in 157ms
09-02 19:23:27.212: DEBUG/AndroidRuntime(347): Shutting down VM
09-02 19:23:27.212: WARN/dalvikvm(347): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-02 19:23:27.244: ERROR/AndroidRuntime(347): FATAL EXCEPTION: main
09-02 19:23:27.244: ERROR/AndroidRuntime(347): java.lang.RuntimeException: Unable to start receiver net.learn2develop.SMSMessaging.SmsReceiver: java.lang.NullPointerException
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2821)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.access$3200(ActivityThread.java:125)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.os.Looper.loop(Looper.java:123)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at java.lang.reflect.Method.invokeNative(Native Method)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at java.lang.reflect.Method.invoke(Method.java:521)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at dalvik.system.NativeStart.main(Native Method)
09-02 19:23:27.244: ERROR/AndroidRuntime(347): Caused by: java.lang.NullPointerException
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at net.learn2develop.SMSMessaging.SmsReceiver.onReceive(SmsReceiver.java:39)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2810)
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     ... 10 more
09-02 19:23:27.282: WARN/ActivityManager(66):   Force finishing activity net.learn2develop.SMSMessaging/.SMS
09-02 19:23:27.432: VERBOSE/Telephony(208): getOrCreateThreadId uri: content://mms-sms/threadID?recipient=15555215556
09-02 19:23:27.752: VERBOSE/Telephony(208): getOrCreateThreadId cursor cnt: 1
09-02 19:23:27.792: WARN/ActivityManager(66): Activity pause timeout for HistoryRecord{45016f20 net.learn2develop.SMSMessaging/.SMS}
09-02 19:23:28.912: DEBUG/Mms:app(208): getSmsNewMessageNotificationInfo: count=4, first addr=15555215556, thread_id=2
09-02 19:23:28.952: WARN/NotificationService(66): STOP command without a player
09-02 19:23:29.062: DEBUG/MediaPlayer(66): Couldn't open file on client side, trying server side
09-02 19:23:29.062: ERROR/MediaPlayerService(33): Couldn't open fd for content://settings/system/notification_sound
09-02 19:23:29.062: ERROR/MediaPlayer(66): Unable to to create media player
09-02 19:23:29.072: WARN/NotificationService(66): error loading sound for content://settings/system/notification_sound
09-02 19:23:29.072: WARN/NotificationService(66): java.io.IOException: setDataSource failed.: status=0x80000000
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(Native Method)
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:716)
09-02 19:23:29.072: WARN/NotificationService(66):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:671)
09-02 19:23:29.072: WARN/NotificationService(66):     at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:88)
09-02 19:23:33.741: DEBUG/dalvikvm(163): GC_EXPLICIT freed 1716 objects / 90928 bytes in 164ms
09-02 19:23:38.106: WARN/ActivityManager(66): Activity destroy timeout for HistoryRecord{45016f20 net.learn2develop.SMSMessaging/.SMS}
09-02 19:23:38.771: DEBUG/dalvikvm(208): GC_EXPLICIT freed 673 objects / 33352 bytes in 175ms


Codice: [Seleziona]
Caused by: java.lang.NullPointerException
09-02 19:23:27.244: ERROR/AndroidRuntime(347):     at net.learn2develop.SMSMessaging.SmsReceiver.onReceive(SmsReceiver.java:39)

cosa c'è alla riga 39 di SmsReceiver?

qualcuno direbbe: ora che hai il logcat, leggilo a voce alta......lui stesso ti suggerisce dove sta il problema.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline teo_

  • Utente junior
  • **
  • Post: 72
  • Respect: +1
    • Github
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 7 - Ubuntu 12.10
Re:app SMS - salvataggio SMS ricevuto
« Risposta #11 il: 09 Settembre 2011, 13:00:10 CEST »
0

scusa, ma il miglior modo per aiutare qualcuno, in casi come questo, non è il passare codice già bello e pronto, perché avrei potuto farlo anche io prima, ma cercare di fare capire come utilizzare le risorse a disposizione.
Nel link che gli ho postato, c'è scritto come fare quello che hai detto tu.
ho già provato a far partire l'activity ma non riesce e mi fa un force close, per questo non capisco quale sia il problema..ora comunque ho cambiato strada e devo solo aggiornare una listview.. che spero di riuscire a fare all'interno della classe che intercetta il messaggio ricevuto.. sennò avete consigli?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #12 il: 09 Settembre 2011, 13:02:32 CEST »
0
ho già provato a far partire l'activity ma non riesce e mi fa un force close, per questo non capisco quale sia il problema..ora comunque ho cambiato strada e devo solo aggiornare una listview.. che spero di riuscire a fare all'interno della classe che intercetta il messaggio ricevuto.. sennò avete consigli?

anche quì, sarebbe stato meglio indicare dove stavail problema inserendo il logcat.

7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline liuk78

  • Utente junior
  • **
  • Post: 73
  • Respect: +5
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:app SMS - salvataggio SMS ricevuto
« Risposta #13 il: 09 Settembre 2011, 13:53:31 CEST »
0
scusa, ma il miglior modo per aiutare qualcuno, in casi come questo, non è il passare codice già bello e pronto, perché avrei potuto farlo anche io prima, ma cercare di fare capire come utilizzare le risorse a disposizione.
Nel link che gli ho postato, c'è scritto come fare quello che hai detto tu.

Mettendo i commenti parlanti e reindirizzandolo al tutorial per il passaggio dei parametri pensavo che gli sarei stato comunque d'aiuto.
Comunque ho recepito il messaggio.
 :-)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:app SMS - salvataggio SMS ricevuto
« Risposta #14 il: 09 Settembre 2011, 14:59:18 CEST »
0
sicuramente sei stato di aiuto, non volevo sminuire quello che hai fatto, anzi!!!

solo che io sono più per un approccio didattico.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/