我正在开发一个短信应用程序,我不能够接收“发送”的意图,如果我传递MessageURI作为意图的SMS.No异常发生和短信处于排队状态。 OnReceive
未被调用!短信发送接收器没有收到意图
public class Sms_SendActivity extends Activity {
PendingIntent sentPI;
String Sent = "SENT_SMS";
BroadcastReceiver br;
Button btnSend;
Context mcontext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Uri uri = Uri.parse("Content://sms/2");
mcontext = getApplicationContext();
sentPI = PendingIntent.getBroadcast(this,0,new Intent(Sent,uri),0);
btnSend = (Button)findViewById(R.id.send);
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.w("Check","Inside On Receiver");
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(mcontext,"Inside Sms sent", Toast.LENGTH_SHORT).show();
Log.w("Check"," URI "+intent.getData().toString());
break;
default:
Toast.makeText(mcontext,"failure", Toast.LENGTH_SHORT).show();
break;
}
unregisterReceiver(br);
}
};
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("1-212-555-1212", null, "Hi there", sentPI, null);
Log.w("Check","Sms Queued");
try {
registerReceiver(br, new IntentFilter(Sent,"content://sms"));
} catch (MalformedMimeTypeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
你能帮帮我!!!
谢谢
我在做类似的事情! http://stackoverflow.com/questions/14571564/android-pendingintent-extras-not-received-by-broadcastreceiver/14612215#14612215 – toobsco42 2013-01-31 07:37:03