在短信recv写sd crad谁使用详细电缆显示短信 [英] on sms recv write sms in sd crad who Show using deta cable

查看:64
本文介绍了在短信recv写sd crad谁使用详细电缆显示短信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

package com.androidexample.broadcastreceiver;



import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.ContextWrapper;



import java.io.BufferedWriter ;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.FileWriter;

import java.io.PrintWriter;



导入android.content.Intent;

导入android.media.MediaScannerConnection;

导入android.os.Bundle;

import android.os.Environment;

import android.telephony.SmsManager;

import android.telephony.SmsMessage;

import android。 util.Log;

import android.widget.Toast;





公共类IncomingSms扩展BroadcastReceiver {



//获取SmsManager的对象

final SmsManager sms = SmsManager.getDefault();





public void writeToFilex(String fileName,String body)

{

FileOutputStream fos = null;



尝试{



final File dir = new File(Environment.getExternalStorageDirectory()。toString()+/ MySMS /);



if(!dir.exists())

{

dir.mkdirs();

}



final File myFile = new File(dir,fileName +。txt);



if(!myFile.exists())

{

myFile.createNewFile();

} < br $>


String storage_path = Environment.getExternalStorageDirectory()。toString()+ File.separator + fileName;

FileOutputStream mFileOutputStream = new FileOutputStream(storage_path, true);

mFileOutputStream.write(body.getBytes());

mFileOutputStream.close();

} catch(IOException e) {



e.printStackTrace();

}

}



public void writeToFile()

{





文件路径=环境。 getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

path = new文件(路径,SubDirNamexxx);

path.mkdirs();

//启动媒体扫描并放入新的进入路径数组的东西

//使扫描器知道你想要看到的位置和文件

// MediaScannerConnection.scanFile(context,new String [] {path.toString()},null,null);



}



public void onReceive(上下文上下文,Intent intent){



//从意图中检索扩展数据的地图。

final Bundle bundle = intent.getExtras ();



尝试{



if(bundle!= null){



final Object [] pdusObj =(Object [])bundle.get(pdus);



for(int i = 0;我< pdusObj.length; i ++){$ / $


SmsMessage currentMessage = SmsMessage.createFromPdu((byte [])pdusObj [i]);

String phoneNumber = currentMessage。 getDisplayOriginatingAddress();

int sim = currentMessage.getIndexOnSim();

String senderNum = phoneNumber;

String senderNumx = Integer.toString(sim )+stf;

String message = currentMessage.getDisplayMessageBody();



Log.i(SmsReceiver,senderNum: + senderNum +;消息:+消息;







// setFileValue(senderNumx ,消息,上下文);

// writeToFilex(senderNumx,message);



试试{

档案path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

path = new File(path,SubDirNamexxx);

path.mkdirs();

//启动媒体扫描并将新内容放入路径数组中

//让扫描仪知道您想要查看的位置和文件

MediaScannerConnection.scanFile (context,new String [] {path.toString()},null,null);



} catch(例外e){

message = e.toString();

writeToFilex(nnnnnnnnnnnnn.nxt.txt,消息);

}







int duration = 1000000;

Toast toast = Toast.makeText(context,senderNum:+ sim +,消息:+消息,持续时间);

toast.show();





} //结束循环

} //包是空的



} catch(例外e){

日志。 e(SmsReceiver,Exception smsReceiver+ e);



}

}







}

package com.androidexample.broadcastreceiver;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.ContextWrapper;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.FileWriter;
import java.io.PrintWriter;

import android.content.Intent;
import android.media.MediaScannerConnection;
import android.os.Bundle;
import android.os.Environment;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;


public class IncomingSms extends BroadcastReceiver {

// Get the object of SmsManager
final SmsManager sms = SmsManager.getDefault();


public void writeToFilex(String fileName, String body)
{
FileOutputStream fos = null;

try {

final File dir = new File(Environment.getExternalStorageDirectory().toString() + "/MySMS/" );

if (!dir.exists())
{
dir.mkdirs();
}

final File myFile = new File(dir, fileName + ".txt");

if (!myFile.exists())
{
myFile.createNewFile();
}

String storage_path = Environment.getExternalStorageDirectory().toString() + File.separator + fileName;
FileOutputStream mFileOutputStream = new FileOutputStream(storage_path, true);
mFileOutputStream.write(body.getBytes());
mFileOutputStream.close();
} catch (IOException e) {

e.printStackTrace();
}
}

public void writeToFile()
{


File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
path = new File(path, "SubDirNamexxx");
path.mkdirs();
// initiate media scan and put the new things into the path array to
// make the scanner aware of the location and the files you want to see
// MediaScannerConnection.scanFile(context, new String[] {path.toString()}, null, null);

}

public void onReceive(Context context, Intent intent) {

// Retrieves a map of extended data from the intent.
final Bundle bundle = intent.getExtras();

try {

if (bundle != null) {

final Object[] pdusObj = (Object[]) bundle.get("pdus");

for (int i = 0; i < pdusObj.length; i++) {

SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
int sim = currentMessage.getIndexOnSim();
String senderNum = phoneNumber;
String senderNumx = Integer.toString(sim) + "stf";
String message = currentMessage.getDisplayMessageBody();

Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message);



// setFileValue(senderNumx,message,context);
// writeToFilex(senderNumx,message);

try {
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
path = new File(path, "SubDirNamexxx");
path.mkdirs();
// initiate media scan and put the new things into the path array to
// make the scanner aware of the location and the files you want to see
MediaScannerConnection.scanFile(context, new String[] {path.toString()}, null, null);

} catch (Exception e) {
message = e.toString();
writeToFilex("nnnnnnnnnnnnnn.txt",message);
}



int duration = 1000000;
Toast toast = Toast.makeText(context, "senderNum: "+ sim + ", message: " + message, duration);
toast.show();


} // end for loop
} // bundle is null

} catch (Exception e) {
Log.e("SmsReceiver", "Exception smsReceiver" +e);

}
}



}

推荐答案

我发现此行中有错误



MediaScannerConnection.scanFile(context,new String [] {path.toString()},null,null);
i am found error in this line

MediaScannerConnection.scanFile(context, new String[] {path.toString()}, null, null);


这篇关于在短信recv写sd crad谁使用详细电缆显示短信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆