短信监控器
2016-07-30 11:55
309 查看
-------------------------------------------------------短信监控---------------------------------------------------------------------------------
一、---框架---
(1)新建SmsListenerReceiver继承BroadcastReceiver类(2)获取短信的信息的内容和发送者信息
(3)配置Receiver,以及action,打开短信权限
二、---布局创建---
短信监控器的显示结果如下,当有短信到来的时候打印一个吐司
三、---代码---
(1)如下是Rceiver的代码package com.iigt.smslistener; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; import android.widget.Toast; public class SmsListenerReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Object[] objects = (Object[]) intent.getExtras().get("pdus"); for(Object pdu : objects){ //获取smsMessage的实例 SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu); //获取短信的发送内容 String messageBody = smsMessage.getMessageBody(); //获取短信的发送者 String originatingAddress = smsMessage.getOriginatingAddress(); //吐司处理 System.out.println("body:"+messageBody+"---"+originatingAddress); Toast.makeText(context, originatingAddress+"发送的内容为:"+messageBody, Toast.LENGTH_LONG).show(); } } }
(2)如下是配置文件的源代码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iigt.smslistener" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.iigt.smslistener.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.iigt.smslistener.SmsListenerReceiver"> <intent-filter > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> </application> </manifest>包括短信权限的打开和action代码的执行
-------------------------------------------------------对话框--------------------------------------------------------------------------
一、---效果---
如下是普通选型框:下面这个是 单选框:
二、---代码---
package com.iigt.dialog; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.view.Menu; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //点击普通对话框 public void click1(View v){ AlertDialog.Builder builder = new Builder(this); builder.setTitle("警告信息"); builder.setMessage("我是普通对话框"); builder.setPositiveButton("同意", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "这家伙居然同意了", 1).show(); } }); builder.setNegativeButton("否定", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "这家伙居然否定了", 1).show(); } }); // 最后一步一定要记得 show出来 builder.show(); } // 下面是单选的对话框 public void click2(View v){ AlertDialog.Builder builder = new Builder(this); builder.setTitle("这个是单选框"); final String items[] = {"苹果", "鸭梨", "橘子", "西红柿", "香蕉"}; builder.setSingleChoiceItems(items, -1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub // 取出点中的条目 String item = items[which]; Toast.makeText(getApplicationContext(), item, 1).show(); // 关闭当前对话框 dialog.dismiss(); } }); // 最后一步一定要记得 show出来 builder.show(); } }
和上面的类似,如下是一个多选对话款和进度条对话框:
如下是进度条对话框:
以下是上面两个对话框的代码:
// 点击按钮 弹出一个多选对话框 public void click3(View v) { // 构建AlertDialog AlertDialog.Builder builder = new Builder(this); builder.setTitle("请选择您喜欢吃的水果"); final String items[] = { "榴莲", "苹果", "葡萄", "香蕉", "黄瓜", "火龙果", "荔枝" }; final boolean[] checkedItems = { true, false, false, false, false, false, true }; builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { } }); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { StringBuffer sb = new StringBuffer(); // [1]把你选中的水果给取出来 for (int i = 0; i < checkedItems.length; i++) { if (checkedItems[i]) { // 就证明是选中的 String fruit = items[i]; sb.append(fruit + " "); } } Toast.makeText(getApplicationContext(), sb.toString(), 1) .show(); // 关闭对话框 dialog.dismiss(); } }); // 最后一步一定要记得 show出来 builder.show(); } //进度条对话框 public void click4(View v) { //与进度相关的控件都可以直接在子线程更新ui final ProgressDialog dialog = new ProgressDialog(this); dialog.setTitle("正在玩命加载ing"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.show(); //设置进度条的最大值 dialog.setMax(100); new Thread(){public void run() { for (int i = 0; i <= 100; i++) { //设置当前的进度 SystemClock.sleep(50);//睡眠50毫秒 dialog.setProgress(i); } //关闭对话框 dialog.dismiss(); };}.start(); } }
相关文章推荐
- MooBox 基于Mootools的对话框插件
- 基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
- C#实现在前端网页弹出警告对话框(alert)的方法
- Android开发必知 九种对话框的实现方法
- Android中创建对话框(确定取消对话框、单选对话框、多选对话框)实例代码
- Android列表对话框用法实例分析
- C#使用Word中的内置对话框实例
- MFC对话框中添加状态栏的方法
- php结合安卓客户端实现查询交互实例
- jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
- 基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
- 基于JavaScript短信验证码如何实现
- JavaScript弹出对话框的三种方式
- 用JavaScript实现对话框的教程
- Asp.net 弹出对话框基类(输出alet警告框)
- js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
- boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
- 自制轻量级仿jQuery.boxy对话框插件代码
- jQuery代码实现对话框右上角菜单带关闭×
- 基于jQuery的弹出警告对话框美化插件(警告,确认和提示)