Note that there are some explanatory texts on larger screens.

plurals
  1. POWriting and a file reading from the SD Card in Android
    primarykey
    data
    text
    <p>I am making an android application that will write a text file to the SD Card from a textview once a button is pressed and once an SMS message is received containing the same text. </p> <p>How do I save a text file to the SD-Card and read from that text file once an SMS is received? This is the code that I've got so far:</p> <pre><code>import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Environment; import android.telephony.gsm.SmsMessage; import android.widget.Toast; import android.media.MediaPlayer; public class IncomingSmsCaptureApp extends BroadcastReceiver { MediaPlayer mp1; @Override public void onReceive(Context context, Intent intent) { File sdcard = Environment.getExternalStorageDirectory(); //Get the text file File file = new File(sdcard,"Notes\file.txt"); //Read text from file String text = new String(); try { BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine()) != null) { } } catch (IOException e) { //You'll need to add proper error handling here } //---get the SMS message passed in--- Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String str = ""; String Message = ""; if (bundle != null) { //---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i=0; i&lt;msgs.length; i++){ msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); str += "SMS from " + msgs[i].getOriginatingAddress(); str += " :"; str += msgs[i].getMessageBody().toString(); str += "\n"; Message = msgs[i].getMessageBody().toString(); } //---display the new SMS message--- Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); if (Message.equals("alarm")) { //Play alarm sound mp1 = MediaPlayer.create(context, R.raw.alarm); mp1.start(); } else { if (Message.equals(text)) { //Perform action } } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload