BroadcastReceiver funktioniert nicht

R

rufux

Ambitioniertes Mitglied
5
Hallo ich versuche eine eingehende SMS über mein eigenes Program zu empfangen und später dann auch das ganze auszuwerten.

Nun habe ich eine Klasse:

info.java
Code:
package com.test.info;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
import com.test.main.R;

public class info extends Activity{
 public static final String LOG_TAG = "debug";
 String msgBody="";
 
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  Log.v(LOG_TAG, "Bis hierher gehts");
 
 
 
 BroadcastReceiver smsreceiver = new BroadcastReceiver() {
 @Override
 public void onReceive(Context context, Intent intent) {
  Bundle bundle = intent.getExtras();
  SmsMessage[] msg = null;
  
  
  if (null != bundle)
  {
   Object[]pdus = (Object[])bundle.get("pdus");
   msg =new SmsMessage[pdus.length];
   
   for (int i=0;i<=msg.length;i++){
    msg[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
    msgBody +=msg[i].getMessageBody().toString();
   }
   Toast.makeText(context, msgBody, Toast.LENGTH_SHORT).show();
   
  }
  
 }
 };
 }
}

das ganze habe ich in meinem manifest wie folgt eingebunden:

Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
      package="com.test.main"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@drawable/background">
    
        <activity android:name=".main"
                  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="com.test.smssending.sms_sending" android:launchMode="singleInstance"></activity>
  
  <activity android:name="com.test.info.info"></activity>
  <receiver android:name="com.test.info.info">
   <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    <data android:scheme="sms"/>
   </intent-filter>
  </receiver>
    </application>
    <uses-permission android:name="android.permission.READ_SMS"></uses-permission>
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
    <uses-permission android:name="android.permission.RECIEVE_SMS"></uses-permission>
    
    <uses-sdk android:minSdkVersion="4" />
 

</manifest>

ich komme zwar in die Info aber die sms wird nicht ausgegeben!

Hat jemand eine Idee, woran es liegen könnte?

vg
 
ich schiebs nochmal hoch, vielleicht hat ja doch jemand eine idee
 
Hi,
schade, dass sich hierzu niemand gemeldet hat. Genau dieses Problem habe ich nämlich auch und wäre über Lösungen (Ansätze) sehr interessiert.

Auch ich möchte in meiner eigenen App SMS abgreifen und diese dann in meiner App als Textdatei oder in einer Datenbank speichern, um sie später wieder aufrufen zu können.
 
Der BroadcastReceiver ist ja gar nicht registriert und exisitiert nur anonym in der Klasse, kein wunder das es nicht geht.
 
Hallo zusammen,

ich fange auch gerade erst an mich in Java und in der Android Programmierung zu recht zu finden, aber ich versuche mich mal an einer Aussage (wenn ich hier Bockmist erzähle, dann bitte ich um Korrektur :)

Wenn du einen Reciever im AndroidManifest deklarierst, muss dann die entsprechende Klasse auch nicht von BroadCastReciever ableiten? Im Moment leitet deine Klasse von Activity ab
 
Sein BroadcastReceiver hängt da so als anonyme Klasse rum die nie genutzt wird...
 
Hi zusammen,

also bei mir funktioniert das SMS empfangen in Form von einem Toast.
Das senden mit einer vorgegebenen Nachricht und Empfänger sollte ich bald auch hinbekommen.

Was ich jedoch haben möchte ist eine SMS, die ein Datum enthält, die das Datum in eine Liste speichert um es später wieder in Form einer Liste aufrufen kann.

Kann mir dazu jemand einen Tipp oder Snippet geben?

Gruß
 
Zuletzt bearbeitet:

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
871
swa00
swa00
O
Antworten
15
Aufrufe
2.871
ORHUX
O
K
Antworten
3
Aufrufe
1.148
Kapikalaani
K
Zurück
Oben Unten