不错的帖子哦

【开源客户端】饭否
http://www.eoeandroid.com/thread-192072-1-1.html

小说分页阅读 支持左右滑屏,添加书签,进度跳转
http://www.eoeandroid.com/thread-192129-1-1.html

移动资讯—— <<我是开发者>> 个人专访
http://www.eoeandroid.com/thread-185404-1-1.html

android 仿苹果日期选择器
http://www.eoeandroid.com/thread-190914-1-1.html

继人员列表,聊天的实现,包括图片,语音,位置,表情
http://www.eoeandroid.com/thread-188604-1-1.html

由于同学要求,希望有人能定点打电话给她,故开发了这个小程序,如果有人要更多的功能,可以提!

主界面,设置时间并且时间到发送广播
需要了解下PendingIntent ,AlarmManager,Broadcast

package com.zhuyan;import java.util.Calendar;import com.zhuyan.broadcast.AlarmReceiver;import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;public class TimingDialActivity extends Activity {/** Called when the activity is first created. */private static final String TAG = "TimingDialActivity";Button mButtonStart;Button mButtonStop;EditText telPhoneEditText;TextView mTextView;Calendar calendar;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);calendar = Calendar.getInstance();mTextView = (TextView) findViewById(R.id.phone_view);mButtonStart = (Button) findViewById(R.id.set_time);mButtonStop = (Button) findViewById(R.id.cancel_time);telPhoneEditText = (EditText) findViewById(R.id.tel_number);mButtonStart.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {calendar.setTimeInMillis(System.currentTimeMillis());int mHour = calendar.get(Calendar.HOUR_OF_DAY);int mMinute = calendar.get(Calendar.MINUTE);new TimePickerDialog(TimingDialActivity.this,new TimePickerDialog.OnTimeSetListener() {public void onTimeSet(TimePicker view,int hourOfDay, int minute) {calendar.setTimeInMillis(System.currentTimeMillis());calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);calendar.set(Calendar.MINUTE, minute - 1);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);Intent intent = new Intent(TimingDialActivity.this,AlarmReceiver.class);intent.putExtra("tel_phone", telPhoneEditText.getText().toString());PendingIntent pendingIntent = PendingIntent.getBroadcast(TimingDialActivity.this,0, intent, 0);AlarmManager am;am = (AlarmManager) getSystemService(ALARM_SERVICE);// am.set(AlarmManager.RTC_WAKEUP, calendar// .getTimeInMillis(), pendingIntent);
                                                                am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),(24 * 60 * 60 * 1000), pendingIntent);SharedPreferences preference = getSharedPreferences("zhuyan",Context.MODE_PRIVATE);Editor edit = preference.edit();edit.putString("tel_phone", telPhoneEditText.getText().toString());edit.commit();String tmpS = telPhoneEditText.getText().toString()+ "->"+ format(hourOfDay)+ ":" + format(minute);mTextView.setText(tmpS);}}, mHour, mMinute, true).show();}});mButtonStop.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {Intent intent = new Intent(TimingDialActivity.this,AlarmReceiver.class);PendingIntent pendingIntent = PendingIntent.getBroadcast(TimingDialActivity.this, 0, intent, 0);AlarmManager am;am = (AlarmManager) getSystemService(ALARM_SERVICE);am.cancel(pendingIntent);mTextView.setText("Cancelled");}});}private String format(int x) {String s = "" + x;if (s.length() == 1)s = "0" + s;return s;}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();SharedPreferences preference = getSharedPreferences("zhuyan",Context.MODE_PRIVATE);telPhoneEditText.setText(preference.getString("tel_phone","10086"));}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();SharedPreferences preference = getSharedPreferences("zhuyan",Context.MODE_PRIVATE);Editor edit = preference.edit();edit.putString("tel_phone", telPhoneEditText.getText().toString());edit.commit();}}

//broadcast  接受广播

package com.zhuyan.broadcast;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;public class AlarmReceiver extends BroadcastReceiver {private final static String TAG = "AlarmReceiver";private Context context;private String telNumber = "10086";public void onReceive(Context context, Intent intent) {this.context = context;SharedPreferences preference =context.getSharedPreferences("zhuyan",Context.MODE_PRIVATE);telNumber=preference.getString("tel_phone","10086");PhoneCall();}private void PhoneCall() {try {Thread.sleep(2000);} catch (InterruptedException e) {// TODO Auto-generated catch block
                        e.printStackTrace();}Uri localUri = Uri.parse("tel:" + telNumber);Intent call = new Intent(Intent.ACTION_CALL, localUri);call.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(call);// android.util.Log.v("TeleListener", "start to call");
        }}

附件Timingforyou2.0
1.增加了第二次呼叫功能呢个,即第二个输入框输入你想要输入的第二与第一次呼叫间隔时间(单位为分),默认值为0表示不进行呼叫;
2.增加了长按第一个编辑框出现所有你的联系人的号码的dialog,目前不支持搜索  

  

源码下载

android 定时打电话教程相关推荐

  1. [转]Android入门基础教程

    第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: Android 开发者  |  Android Develope ...

  2. android定时循环,Android AlarmManager实现定时循环后台任务

    这篇文章使用AlarmManager实现了Android定时后台循环任务.使用场景:项目需要app每隔一段时间就去服务端请求一次接口,从而更新本地保存的信息. AlarmManager简介 Alarm ...

  3. android9壁纸存放路径,Android基础入门教程——10.9 WallpaperManager(壁纸管理器)

    Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager( ...

  4. Android基础入门教程——2.3.1 TextView(文本框)详解

    Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...

  5. Android基础入门教程——10.9 WallpaperManager(壁纸管理器)

    Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager( ...

  6. Android WiFi开发教程(三)——WiFi热点数据传输

    在上一篇文章中介绍了WiFi的搜索和连接,如果你还没阅读过,建议先阅读上一篇Android WiFi开发教程(二)--WiFi的搜索和连接.本篇接着简单介绍手机上如何通过WiFi热点进行数据传输. 跟 ...

  7. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库

    Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...

  8. android studio控件使用方法,android studio使用教程

    android studio使用教程 Android Studio是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studi ...

  9. Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)

    Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1) RecyclerView是比ListView和GridView更为强大的布局视图, ...

最新文章

  1. 一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权
  2. 常见非关系型数据库(NoSQL)推荐介绍
  3. 2019 surf project for a milestone
  4. 幂等校验是什么意思_阿里面试官:接口的幂等性怎么设计?
  5. 修改服务器时间报错,修改服务器时间linux
  6. 第十届数据技术嘉年华活动彩蛋!
  7. 调整偏移量伪指令ORG
  8. PHP两个匿名函数传递性,PHP让人不知道的匿名函数的几种写法(附代码)
  9. 点击邮箱名跳转到相对应的邮箱登陆页面
  10. Abelssoft Undeleter(数据恢复软件)v5.01免费版
  11. 分枝定界法(Branch-and-Cut)
  12. 软件开发模型优点缺点
  13. word中插入未压缩的原图
  14. 蓝桥杯java备赛Day3——跳马
  15. [资料]企业会计科目
  16. 谷歌学术we are sorry/拉黑/报错自动查询过多
  17. linux使用过程中出现的问题
  18. CSS实现的撕纸效果
  19. 从今天起 一周至少看一本书 不能再蹉跎
  20. catia曲面设计从入门到精通_CATIA+V5曲面设计从入门到精通_11685491.pdf

热门文章

  1. 修正mysqlcc在MySQL 5.0上常报的 Table 'xxx' doesn't exist 错误
  2. 单独获取ShopEx商品类型中的扩展参数,如配货时间
  3. JS表情替换代码,这里使用字符代替图片路径
  4. 程序员的800字作文
  5. OC-NSArray
  6. (转)java.lang.RuntimeException: Missing type parameter
  7. NSCTF-部分题目wp
  8. MOCTF-Web-还是水题
  9. 熟悉和理解linux编程环境,熟悉Linux环境和编程0.doc
  10. 函的红头文件格式制作_Excel实现批量制作年会邀请函,这个方法,你一定不能错过...