当前位置:  编程技术>移动开发
本页文章导读:
    ▪发送短信,发邮件,通电话代码实现        发送短信,发邮件,打电话代码实现 基础代码: + (void)alert:(NSString *)msg { UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:msg message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:n.........
    ▪ Service将播音信息传递给        Service将广播信息传递给 BroadcastReceiver捕捉到信息后关闭服务   public class ServiceSendCast extends Activity { /* 建立自定义mServiceReceiver对象 */ private MyServiceReceiver mReceiver01; private TextView mTextView01; pr.........
    ▪ BroadcastReceiver一个礼拜每天更换不同的壁纸       BroadcastReceiver一个星期每天更换不同的壁纸 添加权限   <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>   三部分 1.DailyWallpaper.java 2.DailyReceiver.java(BroadcastReceiver) 3.Cha.........

[1]发送短信,发邮件,通电话代码实现
    来源: 互联网  发布时间: 2014-02-18
发送短信,发邮件,打电话代码实现
基础代码:
    + (void)alert:(NSString *)msg
    {
        UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:msg message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];
        [alertView showWithBackground];
    }

    + (NSString*) cleanPhoneNumber:(NSString*)phoneNumber
    {
        NSString* number = [NSString stringWithString:phoneNumber];
        NSString* number1 = [[[number stringByReplacingOccurrencesOfString:@" " withString:@""]
                              //                        stringByReplacingOccurrencesOfString:@"-" withString:@""]
                              stringByReplacingOccurrencesOfString:@"(" withString:@""]
                             stringByReplacingOccurrencesOfString:@")" withString:@""];
       
        return number1;   
    }


打电话:
+ (void) makeCall:(NSString *)phoneNumber
{
    if ([DeviceDetection isIPodTouch]){
        [UIUtils alert:kCallNotSupportOnIPod];
        return;
    }
    
    NSString* numberAfterClear = [UIUtils cleanPhoneNumber:phoneNumber];    
    
    NSURL *phoneNumberURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", numberAfterClear]];
    NSLog(@"make call, URL=%@", phoneNumberURL);
    
    [[UIApplication sharedApplication] openURL:phoneNumberURL];    
}


发短信:
    + (void) sendSms:(NSString *)phoneNumber
    {
        if ([DeviceDetection isIPodTouch]){
            [UIUtils alert:kSmsNotSupportOnIPod];
            return;
        }
       
        NSString* numberAfterClear = [UIUtils cleanPhoneNumber:phoneNumber];
       
        NSURL *phoneNumberURL = [NSURL URLWithString:[NSString stringWithFormat:@"sms:%@", numberAfterClear]];
        NSLog(@"send sms, URL=%@", phoneNumberURL);
        [[UIApplication sharedApplication] openURL:phoneNumberURL];   
    }


发邮件:
    + (void) sendEmail:(NSString *)phoneNumber
    {
        NSURL *phoneNumberURL = [NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@", phoneNumber]];
        NSLog(@"send sms, URL=%@", phoneNumberURL);
        [[UIApplication sharedApplication] openURL:phoneNumberURL];   
    }

    + (void) sendEmail:(NSString *)to cc:(NSString*)cc subject:(NSString*)subject body:(NSString*)body
    {
        NSString* str = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@",
                         to, cc, subject, body];

        str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
       
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
       
    }

    
[2] Service将播音信息传递给
    来源: 互联网  发布时间: 2014-02-18
Service将广播信息传递给

BroadcastReceiver捕捉到信息后关闭服务

 

public class ServiceSendCast extends Activity {

	/* 建立自定义mServiceReceiver对象 */
	private MyServiceReceiver mReceiver01;
	private TextView mTextView01;
	private Button mButton01, mButton02;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.service_send_cast);

		mTextView01 = (TextView) findViewById(R.id.myTextView1);
		mButton01 = (Button) findViewById(R.id.myButton1);
		mButton02 = (Button) findViewById(R.id.myButton2);

		/* 启动系统服务(Service) */
		mButton01.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				/* 开始执行后台服务(Service) */
				Intent i = new Intent(ServiceSendCast.this, SendService.class);
				i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				startService(i);
				mMakeTextToast("启动系统服务", false);
			}
		});

		/* 终止系统服务(Service) */
		mButton02.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				/* 指定终止执行后台服务(mService1) */
				Intent i = new Intent(ServiceSendCast.this, SendService.class);
				/* 关闭系统服务 */
				if (stopService(i) == true) {
					mMakeTextToast("已关闭系统服务", false);
				} else {
					/* 显示关闭服务失败 */
					mTextView01.setText("关闭服务失败 ");
				}
			}
		});
	}

	/* 建立继承告BroadcastReceiver的 mServiceReceiver类接受广播讯息 */
	public class MyServiceReceiver extends BroadcastReceiver {
		public void onReceive(Context context, Intent intent) {
			try {
				/* 取并来自后台服务所Broadcast的参数 */
				Bundle bunde = intent.getExtras();
				String strParam1 = bunde.getString("STR_PARAM1");

				/* 将从Service里传来的广播讯息显示于TextView */
				mTextView01.setText(strParam1);
				Intent i = new Intent(ServiceSendCast.this, SendService.class);
				if (stopService(i) == true) {
					mMakeTextToast("已关闭系统服务", true);
				}
			} catch (Exception e) {
				mTextView01.setText(e.toString());
				e.getStackTrace();
			}
		}
	}

	public void mMakeTextToast(String str, boolean isLong) {
		if (isLong == true) {
			Toast.makeText(ServiceSendCast.this, str, Toast.LENGTH_LONG).show();
		} else {
			Toast.makeText(ServiceSendCast.this, str, Toast.LENGTH_SHORT)
					.show();
		}
	}

	@Override
	protected void onResume() {
		try {
			/* 前景程序生命周期开始 */
			IntentFilter mFilter01;
			/* 自定义要过滤的广播讯息(DavidLanz) */
			mFilter01 = new IntentFilter(SendService.HIPPO_SERVICE_IDENTIFIER);
			mReceiver01 = new MyServiceReceiver();
			registerReceiver(mReceiver01, mFilter01);
		} catch (Exception e) {
			mTextView01.setText(e.toString());
			e.getStackTrace();
		}
		super.onResume();
	}

	protected void onPause() {
		/* 前景程序生命周期结束,解除刚守系统注册的Receiver */
		unregisterReceiver(mReceiver01);
		super.onPause();
	}

}
 

 

public class SendService extends Service {

	private Handler objHandler = new Handler();
	private int intCounter = 0;
	public static final String HIPPO_SERVICE_IDENTIFIER = "ComeFromServer";

	/* 线程Tasks每1秒执行几次 */
	private Runnable mTasks = new Runnable() {
		public void run() {
			intCounter++;
			/* 当后台Service执行5秒后,发生自定义的广播讯息 */
			if (intCounter == 5) {
				Intent i = new Intent(HIPPO_SERVICE_IDENTIFIER);
				i.putExtra("STR_PARAM1", "来自Service的广播信息");
				sendBroadcast(i);
			}
			Log.i("HIPPO",
					"Service Running Counter:" + Integer.toString(intCounter));
			objHandler.postDelayed(mTasks, 1000);
		}
	};

	public IBinder onBind(Intent arg0) {
		return null;
	}

	public void onStart(Intent intent, int startId) {
		/* 服务开始执行,启用线程 */
		objHandler.postDelayed(mTasks, 1000);
		super.onStart(intent, startId);
	}

	public void onDestroy() {
		objHandler.removeCallbacks(mTasks);
		super.onDestroy();
	}

}

  manifest.xml

 

<activity
			android:name=".ServiceSendCast"
			android:label="@string/app_name">
		</activity>
		<service
			android:name=".SendService"
			android:exported="true"
			android:process=":remote"></service>
 



 



    
[3] BroadcastReceiver一个礼拜每天更换不同的壁纸
    来源: 互联网  发布时间: 2014-02-18
BroadcastReceiver一个星期每天更换不同的壁纸

添加权限

 

<uses-permission
		android:name="android.permission.SET_WALLPAPER"></uses-permission>
 

三部分

1.DailyWallpaper.java

2.DailyReceiver.java(BroadcastReceiver)

3.ChangeBgImage.java

 

DailyWallpaper.java

 

public class DailyWallpaper extends Activity {

	private Button save;
	private Button cancel;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.daily_wallpaper);

		save = (Button) findViewById(R.id.button1);
		cancel = (Button) findViewById(R.id.button2);

		save.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				/* 取得服务启动后几天的0点0分0秒的millsTime */
				Calendar calendar = Calendar.getInstance();
				calendar.add(Calendar.DATE, 1);
				calendar.set(Calendar.HOUR_OF_DAY, 0);
				calendar.set(Calendar.MINUTE, 0);
				calendar.set(Calendar.SECOND, 0);
				calendar.set(Calendar.MILLISECOND, 0);
				long startTime = calendar.getTimeInMillis();
				/* 重复执行的间隔时间 */
				long repeatTime = 24 * 60 * 60 * 1000;
				/* 将更换桌布的排程叵丈AlarmManager中 */
				Intent intent = new Intent(DailyWallpaper.this,
						DailyReceiver.class);
				PendingIntent sender = PendingIntent.getBroadcast(
						DailyWallpaper.this, 0, intent, 0);
				AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
				/*
				 * setRepeating()让排程重复执行 startTime为开始执行时间 repeatTime为重复执行间隔
				 * AlarmManager.RTC?使服务休眠时仍然会执行
				 */
				am.setRepeating(AlarmManager.RTC, startTime, repeatTime, sender);
				
				Toast.makeText(DailyWallpaper.this, "服务已启动", Toast.LENGTH_SHORT)
				.show();
				/* 启动后马勺因执行几次换桌布的程序以更换今天的桌布 */
				Intent intent2 = new Intent(DailyWallpaper.this , ChangeBgImage.class);
				startActivity(intent2);
				
			}
		});

		cancel.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Intent intent = new Intent(DailyWallpaper.this, DailyReceiver.class);
				PendingIntent sender = PendingIntent.getBroadcast(DailyWallpaper.this,
						0, intent, 0);
				/* 由AlarmManager中移除排程 */
				AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
				am.cancel(sender);
				/* 以Toast提示已终止 */
				Toast.makeText(DailyWallpaper.this, "服务已终止", Toast.LENGTH_SHORT)
						.show();
			}
		});

	}

 DailyReceiver.java(BroadcastReceiver)

 

public class DailyReceiver extends BroadcastReceiver {
	
	public void onReceive(Context context, Intent intent) {
		Intent i = new Intent(context, ChangeBgImage.class);
		Bundle bundleRet = new Bundle();
		bundleRet.putString("STR_CALLER", "");
		i.putExtras(bundleRet);
		i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		context.startActivity(i);
	}
}

 ChangeBgImage.java

 

public class ChangeBgImage extends Activity {

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		/* 取得今天是星期几 */
	    Calendar ca=Calendar.getInstance();
	    int dayOfWeek=ca.get(Calendar.DAY_OF_WEEK)-1;

		Bitmap bitmap = null;
		switch(dayOfWeek){
		case 0:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b01);
			break;
		case 1:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b02);
			break;
		case 2:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b03);
			break;
		case 3:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b04);
			break;
		case 4:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b05);
			break;
		case 5:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b06);
			break;
		case 6:
			bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b07);
			break;
		}

		try {
			super.setWallpaper(bitmap);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		finish();
	}

}

manifest.xml

 

<activity
			android:name=".DailyWallpaper"
			android:label="@string/app_name">
		</activity>

		<activity
			android:name=".ChangeBgImage"
			android:label="@string/app_name">
		</activity>

		<receiver
			android:name=".DailyReceiver"
			android:process=":remote" />

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3