您的位置:首页 > 移动开发 > Android开发

android之定时发送短信消息

2014-04-23 10:37 375 查看
前言:

android定时发送消息主要是用到TimeCount来实现的,由后台发送消息到手机的短信中进行操作的。

下面贴一下XML代码:

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/tv_username"
android:layout_width="0dp"
android:layout_height="46.0dip"
android:layout_weight="1"
android:gravity="center"
android:src="@drawable/login_icon_name"
android:text="手机验证"
android:textColor="#000000"
android:textSize="15dp"/>

<TextView
android:id="@+id/tv_username"
android:layout_width="0dp"
android:layout_height="46.0dip"
android:layout_weight="0.5"
android:gravity="center"
android:textColor="#000000"
android:text=">"
android:textSize="15dp"/>

<TextView
android:id="@+id/tv_username"
android:layout_width="0dp"
android:layout_height="46.0dip"
android:layout_weight="1"
android:gravity="center"
android:text="重设密码"
android:textSize="15dp"/>

<TextView
android:id="@+id/tv_username"
android:layout_width="0dp"
android:layout_height="46.0dip"
android:layout_weight="0.5"
android:gravity="center"
android:text=">"
android:textColor="#000000"
android:textSize="15dp"/>

<TextView
android:id="@+id/tv_username"
android:layout_width="0dp"
android:layout_height="46.0dip"
android:layout_weight="1"
android:gravity="center"
android:text="找回成功"
android:textSize="15dp"/>
</LinearLayout>

<RelativeLayout
android:id="@+id/login_input_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15.0dip"
android:background="@drawable/login_input_bg"
android:gravity="center_vertical"
android:padding="0.0dip">

<TextView
android:id="@+id/tv_secret"
android:layout_width="wrap_content"
android:layout_height="46.0dip"
android:layout_below="@id/view_line"
android:layout_marginLeft="10dip"
android:gravity="center"
android:src="@drawable/login_icon_pass"
android:text="手机号"
android:textSize="20dp"/>

<EditText
android:id="@+id/find_user_phonenum"
android:layout_width="fill_parent"
android:layout_height="46.0dip"
android:layout_below="@id/view_line"
android:layout_marginLeft="15.0dip"
android:layout_toRightOf="@id/tv_secret"
android:background="@null"
android:hint="请输入手机号码"
android:maxLength="11"
android:textSize="18.0dip"/>
</RelativeLayout>

<LinearLayout
android:id="@+id/find_showidentfying"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginTop="10dp"
android:visibility="gone"
android:padding="0.0dip">

<TextView
android:id="@+id/tv_identfy"
android:layout_width="wrap_content"
android:layout_height="46.0dip"
android:layout_marginLeft="8dip"
android:gravity="center"
android:text="验证码"
android:textSize="20dp"/>

<EditText
android:id="@+id/find_identying"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="46.0dip"
android:layout_toRightOf="@id/tv_identfy"
android:background="@drawable/login_input_bg"
android:hint="短信验证码"
android:maxLength="11"
android:textSize="18.0dip"/>

<Button
android:id="@+id/btn_reget_captcha"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/selector_btn_blue_ok"
android:text="发送激活码"
android:textColor="@android:color/white"
android:textSize="12sp"/>

</LinearLayout>

<Button
android:id="@+id/user_find"
android:layout_width="fill_parent"
android:layout_height="40.0dip"
android:layout_marginLeft="15.0dip"
android:layout_marginRight="15.0dip"
android:layout_marginTop="15dip"
android:background="@drawable/login_btn_bg"
android:text="向我发送验证码"
android:textColor="@android:color/white"
android:textSize="16.0dip"/>

</LinearLayout>


上面的XML只是部分代码,具体操作根据实际情况而定:

再贴一下MainActivity的主要代码:

在启动的时候就把时间设置为60秒

TimeCounttimeCount=newTimeCount(60000,1000);


在点击获取验证码的时候,启动TimeCount执行命令:

show_ident.setVisibility(View.VISIBLE);
timeCount.start();
user_getIdent.setText("提交验证码");



最后贴一下重要代码:

//像手机发送一条短信消息
classTimeCountextendsCountDownTimer{
publicTimeCount(longmillisInFuture,longcountDownInterval){
super(millisInFuture,countDownInterval);
}

publicvoidonFinish(){
btn_reget_captcha.setText("发送激活码");
btn_reget_captcha.setClickable(true);
}

publicvoidonTick(longmillisUntilFinished){
btn_reget_captcha.setClickable(false);
btn_reget_captcha.setText(millisUntilFinished/1000+"秒后点击重发验证码");
}
}

上面只是部分代码,仅供参考!



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: