Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中发送短信后关闭短信活动/屏幕_Android_Android Intent_Android Activity_Sms_Back - Fatal编程技术网

在Android中发送短信后关闭短信活动/屏幕

在Android中发送短信后关闭短信活动/屏幕,android,android-intent,android-activity,sms,back,Android,Android Intent,Android Activity,Sms,Back,成功发送短信后,我无法找到关闭短信屏幕/活动的方法 目前我可以发送短信,但要返回我的应用程序,我必须按back 我希望短信屏幕被解除和控制来我的应用程序自动发送短信后 这是我正在使用的代码: Uri uri = Uri.parse("smsto:" + "074********; 074********"); Intent smsSIntent = new Intent(Intent.ACTION_SENDTO, uri); smsSIntent.putExtra("sm

成功发送短信后,我无法找到关闭短信屏幕/活动的方法

目前我可以发送短信,但要返回我的应用程序,我必须按back

我希望短信屏幕被解除和控制来我的应用程序自动发送短信后

这是我正在使用的代码:

    Uri uri = Uri.parse("smsto:" + "074********; 074********");
    Intent smsSIntent = new Intent(Intent.ACTION_SENDTO, uri);
    smsSIntent.putExtra("sms_body", "iconference sms");
    startActivity(smsSIntent);

您必须在
应用程序中创建
活动
,该应用程序发送
短信
,然后您可以从
活动
中调用
finish()
,退出
活动
。通过使用内置的
SMS
屏幕,您无法退出屏幕,除非您自己退出。是一个很好的
教程
,用于从
应用程序发送
短信

我创建了一个单独的活动,并实现了“smsmsmanager”的侦听器,该代码甚至会发送超过160个字符的短信

这是我的密码

private void sendSMS()
{
    LoadingView.showLoading(this, false);
    String SENT = "SMS_SENT";
    PendingIntent sentPI = PendingIntent.getBroadcast(SMSActivity.this, 0, new Intent(SENT), 0);

    //--- When the SMS has been sent ---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            LoadingView.dismissLoading();
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(SMSActivity.this, "SMS sent", Toast.LENGTH_SHORT).show();
                    finish();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(SMSActivity.this, "Generic failure", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(SMSActivity.this, "No service", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Toast.makeText(SMSActivity.this, "Null PDU", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Toast.makeText(getBaseContext(), "Radio off", Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    }, new IntentFilter(SENT));


    ArrayList<PendingIntent> arrPI = new ArrayList<PendingIntent>();
    arrPI.add(sentPI);

    // Because SMS has more than 160 characters, we will divide it in multiple parts.
    SmsManager sms = SmsManager.getDefault();
    ArrayList<String> parts =sms.divideMessage(mMessage.getText().toString());
    sms.sendMultipartTextMessage(mNumbers, null, parts, arrPI, null);
}
private void sendSMS()
{
LoadingView.showLoading(此为false);
String SENT=“SMS_SENT”;
pendingent sentPI=pendingent.getBroadcast(SMSActivity.this,0,新意图(已发送),0);
//---当短信已经发送---
registerReceiver(新广播接收器(){
@凌驾
公共void onReceive(上下文arg0,意图arg1){
LoadingView.dismissLoading();
开关(getResultCode())
{
案例活动。结果\u正常:
Toast.makeText(SMSActivity.this,“SMS已发送”,Toast.LENGTH_SHORT.show();
完成();
打破
案例smsmsmanager.RESULT\u错误\u一般\u失败:
Toast.makeText(SMSActivity.this,“一般失败”,Toast.LENGTH_SHORT.show();
打破
案例smsmsmanager.RESULT\u错误\u否\u服务:
Toast.makeText(SMSActivity.this,“无服务”,Toast.LENGTH_SHORT.show();
打破
案例smsmsmanager.RESULT_ERROR_NULL_PDU:
Toast.makeText(SMSActivity.this,“Null PDU”,Toast.LENGTH_SHORT.show();
打破
案例smsmsmanager.RESULT\u ERROR\u RADIO\u OFF:
Toast.makeText(getBaseContext(),“无线电关闭”,Toast.LENGTH_SHORT.show();
打破
}
}
},新意向过滤器(已发送));
ArrayList arrPI=新的ArrayList();
arrPI.add(sentPI);
//因为短信有160多个字符,我们将把它分成多个部分。
SmsManager sms=SmsManager.getDefault();
ArrayList parts=sms.divideMessage(mMessage.getText().toString());
sms.sendMultipartTextMessage(mNumbers,null,parts,arrPI,null);
}

您需要使用发送时退出返回应用程序

sendIntent.putExtra("exit_on_sent", true);

此项的可能重复项也会取消父项
活动
,它是从Works调用的,但总是返回结果\u