[英]SMSManager and Pending Intent
我對正在創建的SMS應用程序有疑問(學習目的)。
在發送短信時,我希望發送一條敬酒消息(或不發送)
問題是我點擊發送后,我想結束活動,但仍然有敬酒消息出現(在這種情況下),向我提供了信息。
由於我是新手,因此我不確定該如何進行。 我所做的就是等待信息通過,設置消息,然后關閉活動。
private void sendSMS() {
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), PendingIntent.FLAG_NO_CREATE);
deliverActivity = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_LONG).show();
finishActivity();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_LONG).show();
finishActivity();
break;
}
}
};
registerReceiver(deliverActivity, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(toNo, null, toSend.getText().toString(), deliveredPI, null);
ContentValues values = new ContentValues();
values.put("address", toNo);
values.put("body", toSend.getText().toString());
this.getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}
private void finishActivity() {
unregisterReceiver(deliverActivity);
Intent intent = new Intent();
setResult(123, intent);
finish();
}
我肯定這是有可能的,甚至可以將其傳遞給另一個活動。
這聽起來似乎有些古怪,但它使我能夠學習做事的新方法……因此,如果有人能指出正確的方向,那就太好了。
謝謝!
杜德(Dude)轉到此鏈接,他們提供了適當的解決方案http://mobiforge.com/developing/story/sms-messaging-android,您可能會從此鏈接獲得答案,也可以嘗試此http://developer.android.com/resources/samples /ApiDemos/src/com/example/android/apis/os/SmsMessagingDemo.html
有一種方法可以在活動關閉后顯示吐司,例如,請參見以下問題: Android:在完成應用程序/活動后顯示吐司
也看到這個 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.