一、解决:
1)定义一个接口 让 Activity实现这个接口;
2)接受者调用接口里面的方法把要传递的参数传进去。
二、activity书写:
package com.ht.dianliang;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity implements DianLiangBR.BRInteraction {
private TextView textView;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.text);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
DianLiangBR dianLiangBR = new DianLiangBR();
registerReceiver(dianLiangBR, intentFilter);
dianLiangBR.setBRInteractionListener(this);
}
@Override
public void setText(String content) {
if (content != null) {
textView.setText(content);
}
}
}
在braodcast receiver中的onReceive方法 调用 intent.getExtras().get(“pdus”)获取 短信Object[] 数组
然后遍历数组 将每一个Object通过SmsMessage的Create方法 转换为 SmsMessage即可,每一个Object都是该方法需要的byte[]数组参数,强转一下就好了