Problem bei SMS in Inbox einfügen via ContentResolver

  • 4 Antworten
  • Letztes Antwortdatum
FelixL

FelixL

Ehrenmitglied
821
Ich wollte mal schauen wie groß der Aufwand wäre, diesen Leuten zu helfen, und hab mich zu Testzwecken im Internet etwas inspirieren (*hust*) lassen.

Quelle ist [android-developers] Re: How to add SMS to inbox in android programmatically? - msg#02449 - AndroidDevelopers

Ich hab das so übernommen:
Code:
package com.felixl.smstest1;

import android.app.Activity;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.ContentResolver;

public class SMSTESTAct1 extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        

        final String ADDRESS = "address";
        //final String PERSON = "person";
        final String DATE = "date";
        final String READ = "read";
        final String STATUS = "status";
        final String TYPE = "type";
        final String BODY = "body";
        //int MESSAGE_TYPE_INBOX = 1;
        //int MESSAGE_TYPE_SENT = 2; http://osdir.com/ml/AndroidDevelopers/2009-03/msg02449.html

        final TextView txtView = (TextView) findViewById(R.id.TextView01);
        final Button button = (Button) findViewById(R.id.Button01);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	 ContentValues values = new ContentValues();
            	 values.put(ADDRESS, "+61408219690");
            	 values.put(DATE, "1237080365055");
            	 values.put(READ, 1);
            	 values.put(STATUS, -1);
            	 values.put(TYPE, 2);
            	 values.put(BODY, "i love you yeah, yeah, yeah");
                 //ContentResolver contentResolver = getContentResolver();
                 Uri inserted = getContentResolver().insert(Uri.parse("content://sms"), values);
            	 txtView.setText("Done");
            }
        });
    }
}

1. sagt er lustigerweise, das er
import android.content.ContentResolver;
nicht braucht, das lasse ich mir ja noch gefallen, aber
2. schließt er die App immer beim Aufruf von
Uri inserted = getContentResolver().insert(Uri.parse("content://sms"), values);
"unerwartet"
//ContentResolver contentResolver = getContentResolver();
ist nur noch drin, weil ich schauen wollte ob es daran schon liegt oder an Uri inserted...
hab es auch ohne das Uri inserted = davor probiert, hilft auch nichts.

Kann jemand einem gemeinnützig arbeitenden Anfänger einen Tipp geben? ;)
Ich verspreche auch bei Fortsetzung der Arbeit nicht jeden Tag hier zu fragen und alles opensource zu machen ;)
 
Mit Stacktraces kann man immer viel mehr anfangen ;)
 
Du meinst logcat?
Folgt heute Nacht, musste vor 5 Minuten weg ;)
 
O man, ich war so naiv und dachte, ich würde um Logcat drumrumkommen.(Hatte ich schon gesagt das ich Anfänger bin? Hab zwar ein bis 2 Gehversuche gemacht, aber mehr nicht...)

An alle anderen Anfänger: Benutzt es! Es macht alles einfacher und spricht manche Fehler deutlich an. Ihr werdet es lieben ;)

@Topic:
Wer hätte gedacht das man für das Einfügen von SMS auch die READ_SMS permission braucht, nicht nur WRITE_SMS...
Aber gut, wieder was gelernt, und das war ja auch der Sinn ;)

@the_alien
Danke! :)
 
Ich kann auch nur sagen - immer logcat verwenden!
Anfangs habe ich das auch vermieden und mich dann über Fehler gewundert - inzwischen nutze ich es sehr viel :)
 
Zurück
Oben Unten