转:Android 发送短信的方法

安卓之接收与发送短信 我们通过一个例子来讲解如何在安卓上发送广播和接收广播,它主要就是利用我们之前学过的广播机制。 接收短信 activity_main.xml代码 <LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="wrap_content" android:layout_heigh 阅读详情
android中可以通过两种方式发送短信 

http://gundumw100.iteye.com/blog/1774899



第一:调用系统短信接口直接发送短信;主要代码如下: 
Java代码  收藏代码
  1. /** 
  2.      * 直接调用短信接口发短信 
  3.      * @param phoneNumber 
  4.      * @param message 
  5.      */  
  6. public void sendSMS(String phoneNumber,String message){  
  7.         //获取短信管理器   
  8.         android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault();  
  9.         //拆分短信内容(手机短信长度限制)    
  10.         List<String> divideContents = smsManager.divideMessage(message);   
  11.         for (String text : divideContents) {    
  12.             smsManager.sendTextMessage(phoneNumber, null, text, sentPI, deliverPI);    
  13.         }  
  14.     }  


第二:调起系统发短信功能;主要代码如下: 
Java代码  收藏代码
  1. /** 
  2.      * 调起系统发短信功能 
  3.      * @param phoneNumber 
  4.      * @param message 
  5.      */  
  6.     public void doSendSMSTo(String phoneNumber,String message){  
  7.         if(PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)){  
  8.             Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phoneNumber));            
  9.             intent.putExtra("sms_body", message);            
  10.             startActivity(intent);  
  11.         }  
  12.     }  


别忘了权限: 
<uses-permission android:name="android.permission.SEND_SMS" /> 

这里主要讲解第一种方法,第一种方法可以监控发送状态和对方接收状态。 

处理返回的发送状态: 
Java代码  收藏代码
  1. //处理返回的发送状态   
  2. String SENT_SMS_ACTION = "SENT_SMS_ACTION";  
  3. Intent sentIntent = new Intent(SENT_SMS_ACTION);  
  4. PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, sentIntent,  
  5.         0);  
  6. // register the Broadcast Receivers  
  7. context.registerReceiver(new BroadcastReceiver() {  
  8.     @Override  
  9.     public void onReceive(Context _context, Intent _intent) {  
  10.         switch (getResultCode()) {  
  11.         case Activity.RESULT_OK:  
  12.             Toast.makeText(context,  
  13.         "短信发送成功", Toast.LENGTH_SHORT)  
  14.         .show();  
  15.         break;  
  16.         case SmsManager.RESULT_ERROR_GENERIC_FAILURE:  
  17.         break;  
  18.         case SmsManager.RESULT_ERROR_RADIO_OFF:  
  19.         break;  
  20.         case SmsManager.RESULT_ERROR_NULL_PDU:  
  21.         break;  
  22.         }  
  23.     }  
  24. }, new IntentFilter(SENT_SMS_ACTION));  


处理返回的接收状态 : 
Java代码  收藏代码
  1. //处理返回的接收状态   
  2. String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";  
  3. // create the deilverIntent parameter  
  4. Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION);  
  5. PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0,  
  6.        deliverIntent, 0);  
  7. context.registerReceiver(new BroadcastReceiver() {  
  8.    @Override  
  9.    public void onReceive(Context _context, Intent _intent) {  
  10.        Toast.makeText(context,  
  11.   "收信人已经成功接收", Toast.LENGTH_SHORT)  
  12.   .show();  
  13.    }  
  14. }, new IntentFilter(DELIVERED_SMS_ACTION));  


发送短信的参数说明: 
Java代码  收藏代码
  1. smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)  

-- destinationAddress:目标电话号码 
-- scAddress:短信中心号码,测试可以不填 
-- text: 短信内容 
-- sentIntent:发送 -->中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理   即,这个意图包装了短信发送状态的信息 
-- deliveryIntent: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理  即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
android发送短信带监听是否发送成功功能 很多时候我们需要用到自动发短信的功能,那么我们应该知道如何发送短信。在此,以一个简单的例子说明如何发送短信。 首先我们在布局文件中布两个输入框(EditText),一个做为电话号码输入框,一个做为短信内容编辑框,并布一个发送按钮,具体代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 阅读详情

相关推荐

Android实现发送短信功能

使用Android实现发送短信,可自定义联系人自定义短信内容

是阿超 1861

Android发送短信最简单代码实现

Android发送短信最简单代码实现,发送短信原理,接收不到短信原因汇总,smsmanager的使用,广播查看短信发送状态

weixin_58814750的博客 4881

Android中实现带发送报告的短信发送程序

SMS(Short Message Service)API允许应用程序发送和接收短信。在Android平台,这一功能被封装在SmsManager类中,开发者可以通过该类实现短信的发送逻辑。Android权限框架是为了保护用户数据和设备功能安全而设计的一套机制。它确保应用在访问系统资源时需要得到用户或系统的授权。权限分为普通权限、危险权限和签名权限。普通权限通常是无害的权限,例如设置时区,而危险权限可能影响用户隐私或设备安全,如读取联系人或发送短信。

weixin_42327217的博客 871

android 发送短信的两种方式

android中可以通过两种方式发送短信  第一:调用系统短信接口直接发送短信;主要代码如下:  Java代码   /**       * 直接调用短信接口发短信       * @param phoneNumber       * @param message       */   public void sendSMS(String phoneN

雷家二少 759

Android之发送短信的两种方式

Android之发送短信的两种方式 1、调用系统短信接口直接发送短信 2、调起系统发短信功能 (并设置发送状态的监听)

安卓点击发送文本短信

学习点击事件和短信发送功能,实现点击按钮,自动隐藏发送短信。

android 几种发送短信的方法

android中发送短信很简单, 首先要在Mainfest.xml中加入所需要的权限: 1 uses-permission android:name="android.permission.SEND_SMS">uses-permission> 2 uses-permission android:name="and

tianyitianyi1的专栏 2091

TNS-12516及ORA-12516错误解决

在客户端进行sqlplus连接报错如下: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序 在/home/oracle/product/10.2.0/db_1/network/log/listener.log中查看到错误如下: TNS-12516: TNS:listener could not find available handler with matchin

KEL 2万+

Android发送短信的两种方法

Android发送短信代码的两种方法 Android发送短信代码的两种方法 有两种方法可以实现发送短信: 其一是使用intent-startActivity,URI数据格式为”smsto:num”,调用的action为Intent.ACTION_SENDTO: Uri uri = Uri.parse(“smsto:5554″); Intent it = new Intent(Intent.ACTION_SENDTO, uri); it.putExtra(“sms_body”, “你好。。”); startA

qq_45797596的博客 3298

MiniMAX H3官方SKILL三段式提示词模板与本地部署全解

视频生成模型的效果高度依赖于提示词的结构与质量,而提示词工程正是连接自然语言与视觉表达的关键桥梁。在文本模型之外,视频模型对场景、角色、镜头动作的信息层次更为敏感,普通自由描述往往导致画面漂移、风格不稳定。MiniMAX H3 作为社区热议的视频生成模型,通过一套官方 SKILL 三段式提示词模板,将环境、主体、镜头动作分类组织,免API、免推理即可稳定产出风格统一的素材。这一设计不仅降低了提示词编写门槛,也提升了多轮生成的复用性,适合短视频生产、影视概念设计及自动化视频流水线等场景。本文围绕该模板的结构与

weixin_33309048的博客 1178

多智能体强化学习之值函数分解:VDN、QMIX、QTRAN系列优缺点分析(转载)

关于多智能体强化学习中VDN,QMIX,QTRAN三个算法再值分解方向的研究成果。三个算法呈递进关系

qq_33328642的博客 5859

android 实现发送短信功能

离职五天左右 学习了一些基础理论并用于实践,也算是学到了点东西 1.实现短信的发送功能 在学习的视频里面发现了这个发送短信的功能实现 就好奇写了一个小demo 先看一下页面的效果吧 很简单的布局 两个输入框 一个按钮 看一下具体的实现效果emmmm 模拟器上看不出来效果 骚等.... 点击发送短信 提示了发送成功 看一下能否接收到短信呢? 那就一起来看一下吧 成...

72的博客 2万+

XY2-100协议解析

1.XY2-100包括四路信号 : SENDCK(时钟信号)、SYNC(同步信号)、CHANNELX(X通道)、CHANNELY(Y通道)

qq_38360574的博客 9534

android 调用短信,Android实现接收短信和发送短信功能

在学接收短信和发送短信之前,先简单介绍一下 SMS 短消息服务。SMS(Short Message Service,短信息服务)是一种存储和转发服务。也就是说,短信息并不是直接从发信人发送到接收人,而是始终通过 SMS 中心进行转发。如果接收人处于未连接状态(可能电话已关闭),那么信息将在接收人再次连接时发送。接收短信要使 Android 应用程序能够接收短信息,需要以下三个步骤:1)Androi...

weixin_39761491的博客 2596

技术文档的语言表达:简洁、准确与易懂的平衡艺术

技术文档的语言表达不仅要简洁、准确,还需要能够打破技术壁垒,使不同背景的读者都能理解。这是一项需要技巧和经验的工作,它要求技术作者既要具备扎实的专业知识,又要具备清晰的表达能力。通过不断打磨语言的简洁性、准确性和易懂性,我们能够创造出一份高质量的技术文档,让知识的传递不再受限于语言的障碍。

人心有反复,好在山水有重逢。 4677

【Python深度学习】做深度学习训练时,如果数据集太大,无法一次性加载进GPU,应该如何做?

方法核心思想优点缺点适用场景实现复杂度小批量训练(Mini-Batch Training)与数据加载器(DataLoader)将数据集划分为小批量,每次只加载一个小批量到GPU中进行训练。- 易于实现- 是深度学习的标准做法- 支持多进程加载- 内存可能成为瓶颈- 需要调整批量大小避免内存不足适用于大部分场景低数据分片与分布式训练(Data Sharding & Distributed Training)将数据集分片,每个GPU或节点处理其中一部分数据,分布式训练。

若北辰 1143

Android短信发送流程之普通短信发送(原)

我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况。 一、地址有效性检测         当点击发送按钮时,触发onClick事件: @ComposeMessageActivity.java public void onClick(View v) { if ((v == mSendButtonSms

阿杜的专栏 7606

DeerFlow 系列教程 第二十篇 | 前端定制与二次开发指南

支持的语言定义在locale.tsLocale 检测采用三级降级策略Cookie 优先:检查localeCookie浏览器语言默认值en-US.value;if (locale!DeerFlow 使用管理主题切换,在根布局中通过主题相关的 CSS 变量定义在中(约 10KB)。: boolean;// 是否支持深度思考。

weixin_43674738的博客 223

android 如何发送短信,如何在android中发送短信

我们可以通过意图在android中发送短信。你只需要编写4行代码即可在android中发送短信。//Getting intent and PendingIntent instanceIntent intent=new Intent(getApplicationContext(), MainActivity.class);PendingIntent pi=PendingIntent.getActiv...

weixin_35843523的博客 3169

基于Simulink的间接功率控制的矩阵变换器

通过上述步骤,我们成功设计并实现了基于 Simulink 的间接功率控制的矩阵变换器仿真模型。该模型能够通过控制输入电流和输出电压,实现对功率的间接控制,适用于电机驱动、可再生能源系统、电力传输等领域。通过虚拟场景仿真、参数优化和性能评估,验证了系统的稳定性和高效性,并通过调整 PI 控制器参数和优化调制算法,进一步提升了系统的性能。

MHD0815的博客 296

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

4种方法在电脑上查看安卓短信

乍一看,在电脑上查看安卓设备中的所有短信似乎颇具挑战。然而,实际上,只要使用合适的方法,以这种方式检查和管理短信就变得非常简单。拥有最便捷的工具——iReaShare Android Manager,凭借其稳定的性能,轻松完成任务如今尽在掌握。

Digitally的博客 2660

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 发送短信 如何做到一条一条的发送,只有在上一条发送成功之后才发送下一条短信

android发送短信截获上一条发送是否成功,然后再来发送下一条短信 1.问题:在项目中遇到如下要求:代发短信有N条,实现一条一条的发送并在上一条短信发送成功之后再来发送下一条。   for(int i=0;i   sendSMS(10086, text1, i);   } private void sendSMS(String toAddress, String body, Lon

wode_111的专栏 1718

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android - SMS 发送短信

在 Android 中,您可以使用 SmsManager API 或设备内置的 SMS 应用程序来发送 SMS。 在本教程中,我们向您展示了发送 SMS 消息的两个基本示例 −SmsManager API登录后复制 SmsManager smsManager = SmsManager.getDefault(); smsM...

小屁孩大帅-保密的博客 1493

Android短信发送流程之普通短信发送

我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况。 一、地址有效性检测           当点击发送按钮时,触发onClick事件: @ComposeMessageActivity.java public void onClick(View v) { if ((v == mSendButtonSms || v == m...

达帮主 1440

android 中发送短信

<br />在虚拟机上玩了几天iphone,环境实在搭不起来,只能丢盔弃甲了,好歹object-c算是入了门,欣赏了另外一种oop的实现方法,算是过了一把瘾。<br /> <br />人一闲下来实在是难受,看看android算了。<br /> <br />android中发送短信很简单,<br />首先要在Mainfest.xml中加入所需要的权限:<br /><uses-permission android:name="android.permission.SEND_SMS"></uses-permiss

rangq1的专栏 7133
上一篇: 短信的自动拦截
下一篇: IDEA 百度SDK 的安装配置
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值