精华内容
下载资源
问答
  • 这是能用短信来控制显示内容的LED屏,和传统的LED屏相比有以下一些优点:  第一,修改显示内容时无需电脑,节省投资费用,特别适合对电脑熟悉的用户。  第二,安装LED屏时,无需安设通讯电缆或者更换显示...
  • 这是能用短信来控制显示内容的LED屏,和传统的LED屏相比有以下一些优点:  ,修改显示内容时无需电脑,节省投资费用,特别适合对电脑熟悉的用户。  第二,安装LED屏时,无需安设通讯电缆或者更换显示存储器的...
  • 1:8bit编码,用于传送纯英文字符(传中文可能有部分误码),短信内最多140个字符,部分中文手机能正确解码显示;2:7bit压缩编码只能传输ASCII码表中的前128个字符,一般推荐使用,一条短信最多可以传输160个...
  • 不显示在账户余额里),超过的部分将实时从账户余额中扣除,所以请务必保证账户余额充足。具体的价格请参看 节点短信价目表。」</p><p>该提问来源于开源项目:leancloud/docs</p></div>
  • 短信算法题

    2011-05-10 20:49:40
    短信放送之前,头部加上“您好:”,结尾要加上“【AB公司】”,这些也当然要加入字数里面,现在请写一方法来显示每条短信内容。程序的难点在于怎样获取总页数,而且要判断在什么情况下是显示所有的信息内容的 ...

    发短信:手机短信通常a个字就分一页,分页之前在短信之前都要加上(1/n)、(2/n)...,当然啦,这个要加到每页的字数里面。短信放送之前,头部加上“您好:”,结尾要加上“【AB公司】”,这些也当然要加入字数里面,现在请写一方法来显示每条短信的内容。程序的难点在于怎样获取总页数,而且要判断在什么情况下是不能显示所有的信息内容的

     

    package com.fun;
    
    import java.util.Scanner;
    
    public class MessagePaging {
    	private static final int MaxWordsOnePage = 10;
    	private static final String prefix = "您好:";
    	private static final String suffix = "【AB公司】";
    	private String pageBaseStr = "(%d/%d)";
    	final int baseLen = 3; // ( / ), the three character
    
    	public static void main(String[] args) {
    		MessagePaging paging = new MessagePaging();
    		paging.run();
    	}
    
    	private void run() {
    		System.out.println("please input message:");
    		Scanner scanner = new Scanner(System.in);
    		String content;
    		while ((content = scanner.nextLine()).length() != 0) {
    			String result = parseMessage(content);
    			System.out.println("result: " + result);
    			for(int i = 0; i < result.length(); i+=MaxWordsOnePage){
    				int max = (i+MaxWordsOnePage) >= result.length() ? (result.length()) : (i + MaxWordsOnePage);
    				String str = result.substring(i, max);
    				System.out.println(i + ":" + str + ",len:" + str.length());
    			}
    		}
    		System.out.println("finish");
    	}
    
    	public String parseMessage(String content) {
    		StringBuffer sb = new StringBuffer(content);
    		insertPrefix(sb);
    		appendSuffix(sb);
    		if (!hasNextPage(sb)) {
    			return sb.toString();
    		}
    		int page = 1;
    		int totalPage = getTotalPage(sb.length());
    		checkInvalidTotalPage(totalPage,sb.length());
    		while (page <= totalPage) {
    			 insertPageMessage(sb, page, totalPage); //String pageContent =
    //			 System.out.println(pageContent);
    			++page;
    		}
    		return sb.toString();
    	}
    
    	private void checkInvalidTotalPage(int totalPage, int contentLength) {
    		if (totalPage < 2) {
    			System.out.println("totalPage " + totalPage + " less than 2");
    			System.exit(0);
    		}
    		String pageMes = String.format(pageBaseStr, totalPage, totalPage);
    		if (pageMes.length() >= MaxWordsOnePage) {
    			System.out.println("page message:" + pageMes
    					+ " is no longer than max words in one page len:"
    					+ MaxWordsOnePage);
    			System.exit(0);
    		}
    	}
    
    	private int getTotalPage(final int contentLength) {
    		int total = calculateMinTotal(contentLength);
    		while (calculateTotal(contentLength, total) != total) {
    			++total;
    			checkInvalidTotalPage(total,contentLength);
    		}
    		return total;
    	}
    	
    	private int calculateMinTotal(int contentLength){
    		int tmpTotalPage = contentLength / MaxWordsOnePage + 1;
    		int lowLen = baseLen + 2 * getDigits(tmpTotalPage);
    		return (contentLength + tmpTotalPage*lowLen)/MaxWordsOnePage;
    	}
    
    	private int calculateTotal(int contentLength, int total) {
    		int totalLength = contentLength + getTotalPageLen(total);
    		int addOne = ((totalLength % MaxWordsOnePage) == 0 ? 0 : 1);
    		return totalLength / MaxWordsOnePage + addOne;
    	}
    
    	private int getTotalPageLen(int total) {
    		int lowLen = baseLen + 1 + getDigits(total);
    		int highLen = baseLen + 2 * getDigits(total);
    		int sumLen = 0;
    		for (int i = 1; lowLen <= highLen; ++i) {
    			sumLen += lowLen * getLenCount(total, i);
    			++lowLen;
    		}
    		return sumLen;
    	}
    
    	private int getLenCount(int total, int i) {
    		int low = (int) Math.pow(10, i - 1);
    		int high = (int) Math.pow(10, i) - 1;
    		if (total >= low && total <= high) {
    			return total - low + 1;
    		}
    		return 9 * low;
    	}
    
    	// 获取数字的位数
    	private int getDigits(int total) {
    		int count = 0;
    		while (total != 0) {
    			total /= 10;
    			count++;
    		}
    		return count;
    	}
    
    	private String insertPageMessage(StringBuffer sb, int page, int totalPage) {
    		String pageMes = String.format(pageBaseStr, page, totalPage);
    		sb.insert((page - 1) * MaxWordsOnePage, pageMes);
    		int max = page * MaxWordsOnePage >= sb.length() ? sb.length()
    				: (page * MaxWordsOnePage);
    		return sb.substring((page - 1) * MaxWordsOnePage, max);
    	}
    
    	private boolean hasNextPage(StringBuffer sb) {
    		return sb.length() > MaxWordsOnePage;
    	}
    
    	private StringBuffer insertPrefix(StringBuffer content) {
    		return content.insert(0, prefix);
    	}
    
    	private StringBuffer appendSuffix(StringBuffer content) {
    		return content.append(suffix);
    	}
    
    }
    
     

     

     

    展开全文
  • Android广播之九——拦截短信

    千次阅读 2012-12-05 18:36:21
    1、本文件内容,怎样屏蔽特定电话的短信,后面的例是屏蔽了电话为13693490547的短信,即让手机收到手机号为13693490547的手机发短信。 2、手机收到短信以之后在通知栏上面得到一栏通知显示短信内容的过程是...

    1、本文件内容,怎样屏蔽特定电话的短信,后面的例是屏蔽了电话为13693490547的短信,即让手机收不到手机号为13693490547的手机发来的短信。

    2、手机收到短信以之后在通知栏上面得到一栏通知显示短信的内容的过程是这样的: (1)收到短信(2)系统发出短信有序广播,并且把电话号码和短信内容使用数据加入一起发送(3)系统自带的短信广播接收器监听到短信有序广播(4)广播接收器中的onReceive函数被调用,把广播中的内容(包含电话号码和短信内容)取出作为通知内容,发出通知(notification)

    3、使用有序广播的知识点可以中断广播继续往后面传,而手机收到短信以后产生的广播,是一个有序广播,所以要想屏蔽电话13693490547为的短信,我们可以做以下几点:(1)自做一个监听短信广播的接收器监听短信广播。(2)配置接收器时,把监听优先级配置得比系统监听短信广播接收器的优先级更高(3)在自定义的接收器的onCreate函数中先取出电话号码,判断号码是否为13693490547,如果不是,则什么也别做,如果是,则调用BroadcastReceiver类中的abortBroadcast函数中断广播,这样系统监听短信的广播就监听不到了。

    4、举例: 以下的例子在手机上安装后,手机就收不到13693490547手机的短信了。
    (1)自定义广播监听器类
    package com.fs.receiver;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.telephony.SmsMessage;
    import android.widget.Toast;

    public class MSGBroadcastReceiver extends BroadcastReceiver {
           @Override
           public void onReceive(Context context, Intent intent) {
                  // 取出监听到的短信的电话号码
                 String phone = this.getInf(intent);
                 //如果收到的短信的电话号码为13693490547,则中断广播,让手机收不到该电话号码的短信
                 if ("13693490547".equals(phone)) {
                           this.abortBroadcast();//中断广播
                 }
          }

     // 取出监听到的短信的电话号码
     private String getInf(Intent intent) {
             if (intent.getAction() .equals("android.provider.Telephony.SMS_RECEIVED")) { /* 创建字符串变量sb */
                   /** 接收由Intent传来的数据 */
                   String phone = null;
                   Bundle bundle = intent.getExtras();
                   /** 判断Intent有无数据 */
                  if (bundle != null) {
                         /**pdus为 android内置短信参数 identifier 通过bundle.get("")返回一包含pdus对象*/
                         Object[] myOBJpdus = (Object[]) bundle.get("pdus");
                         /* 构建短信对象array,并根据收到的对象长度来定义array的大小 */
                         SmsMessage[] messages = new SmsMessage[myOBJpdus.length];
                          for (int i = 0; i < messages.length; i++) {
                                   messages[i] = SmsMessage.createFromPdu((byte[]) myOBJpdus[i]);
                          }
                         /* 把传来的短信合并定义在stringbuffer中 */
                          for (SmsMessage currentMessage : messages) {
                                    /* 发送人电话号码 */
                                   phone = currentMessage.getDisplayOriginatingAddress();
                           }
                     }
                     /* 以(Toase)形式展示 */
                    return phone;
               }
              return null;
        }
    }
    (2)在AndroidManifest.xml中配置自定义的接收器
    <?xml version="1.0" encoding="utf-8"?>
    <manifest ......>
     <application android:icon="@drawable/icon" android:label="@string/app_name">
      ......
      <receiver android:name="com.fs.receiver.MSGBroadcastReceiver">
       <!--把该接收器的优先级设置为1000,大于系统自带监听短信广播的广播接收器-->
       <intent-filter android:priority="1000"> 
        <!--短信的类型为:android.provider.Telephony.SMS_RECEIVED-->
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
       </intent-filter>
      </receiver>
     </application>
     ......
     <!--配置与短信相关的权限-->
     <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
    </manifest>
    (完)

     

     

     


     

    展开全文
  • PDU格式发送短信息

    2011-07-06 22:37:29
    例如:同样读取的内容都是00410042,但是一个在手机上显示的是AB,一个显示的却是00410042,如何区别呢? 通过+CSDH=1的指令设置, 然后查看DCS(data coding scheme) parameter,就可以知道发送方的编码格式,比如是...
  • 此程序利用国外免费短信网站的接口制作。优点是无需注册,无需通过对方手机验证即可给全球任意一部手机发送短信。缺点就是支持中文。E文好的可以发E文,E文不好...增加编辑短信内容时,实时显示已输入短信内容长度。
  • 您的电子邮件的全部内容将直接在您的手机上显示。 您甚至需要检查您的电子邮件帐户。 无论您是:-等待人力资源的求职者与您联系,-与重要客户联系的销售主管,-接待有客户或另一位房地产经纪人的房地产经纪人,-与...
  • 五、测试,请双击 测试.bat进行测试,若测试成功则会显示成功,成功会显示相应用的错误信息,这是命令行界面的。 六、安装服务,测试成功后可点击 安装服务.bat安装服务。服务以windows服务方式运行,重启后仍会...
  • 来电显示方法

    2013-03-01 23:34:00
    日常工作生活中经常遇到陌生的电话,如果对方告诉的话就也清楚是谁,如果熟悉的朋友亲友也许或短信通知里说明,如果是工作的新客户或者是陌生的来电根本也清楚对方是谁。所以可以根据一种方法获取此电话号码...

    背景技术

    日常工作生活中经常遇到陌生的电话,如果对方不告诉的话就也不清楚是谁,如果熟悉的朋友亲友也许或短信通知里说明,如果是工作的新客户或者是陌生的来电根本也不清楚对方是谁。所以可以根据一种方法来获取此电话号码的联系人信息,这样既方便又快捷又能准确判断对方是谁。

    方法内容

    目前手机实名制的推广越来越广泛,当某用户使用某手机号时必须通过真实的身份验证资料档案信息备份存储到通讯服务商的,所以可以通过一个信息资料解析模块来解析此联系人的资料信息,在通话或者短信会话中自动解析此号的联系人信息发送到被叫用户的手机里。

    当用户会话与被叫用户时,通讯服务端自动解析此主叫号码,如果此主叫号码属于本通讯服务商的电话就从本服务商的信息存储模块中获取此号码的联系人资料信息(一般只获取联系人姓名即可,为了保护用户资料信息的合法权益其他重要资料可以不获取)。这样通讯端在呼叫被叫号码时候直接可以把主叫号码用户的姓名资料同时传送到被叫用户的手机里,这样被叫用户的来电显示就会显示此号码的姓名。这样就很方便准确的获取来电号码的信息。

    方法流程

    展开全文
  • 用mfc实现组合框控件下拉列表显示

    千次阅读 2015-01-30 11:46:48
    MFC里组合框控件显示下拉列表 现在正在帮一个大四的哥们做毕业设计。需要设计一个MFC程序。...这个功能很简单,短信内容也是实现约定好的ASCII码(因为最终与GSM通信的不是手机,而是MCU控制的GSM

    原文地址:http://blog.chinaunix.net/uid-26885609-id-3205426.html

    MFC里组合框控件显示下拉列表

    现在正在帮一个大四的哥们做毕业设计。需要设计一个MFC程序。实现的功能是实现和GSM模块的通信。也就是能够通过这个程序来收发短信。这个功能很简单,短信的内容也是实现约定好的ASCII码(因为最终与GSM通信的不是手机,而是MCU控制的GSM模块),没有实现中文短信的功能。

    编写的过程就是用VC++(我用的是VC6SP6)编写一个基于对话框的应用程序,在对话框里面添加MSComm控件,实现程序控制电脑串口的功能。程序界面大致如下:

     父窗口.png   

     

    实际运行的时候发现,这个程序只能运行在固定的串口号上面,如果把模块插在不同的usb口(串口号发生改变),这个程序就运行不正常了。所以我就想在程序里面添加一个选择串口号的功能。

    实现的方法如下:

    1.       插入—>资源打开插入资源对话框,在里面选择dialog,然后点击新建,就会出现一个dialog资源。

    2.       双击这个资源,会出现让你添加一个类,这样添加一个类即可。

    3.       修改这个新建资源的界面,如下:

    然后再在父窗口里面的OnInitDialog()函数里面添加这样的代码:

    // TODO: Add extra initialization here

           CChoseCom dlg;  //CchoseCom是你新建资源添加的类的类名,父类是Cdialog

           dlg.DoModal();

    这样再编译一下(可能需要添加一下头文件,就include一下即可),运行结果会先出现这个串口选择对话框。当然组合框的下拉列表内还没有内容。所以下一步就是要添加内容。

    4.       在组合框里面添加选项。首先打开类向导,在里面选择Message Maps选项页。在里面现在CchoseCom类,控件IDIDC_COMBO1(组合框控件),分别选择消息CBN_DROPDOWNCBN_SELCHANGE添加消息响应函数。CBN_DROPDOWN是当点击组合框的倒黑色小三角是触发的消息,CBN_SELCHANGE是选择好组合框的一个选项后触发的消息。然后在CBN_DROPDOWN响应函数里面就可以添加组合框列表的内容:

    m_chosecom.AddString("COM1");

    m_chosecom.AddString("COM2");

    m_chosecom.AddString("COM3");

    m_chosecom.AddString("COM4");

    m_chosecom.AddString("COM5");

    m_chosecom.AddString("COM6");

    m_chosecom.AddString("COM7");

    m_chosecom.AddString("COM8");//m_chosecom是用类向导添加的CcomboBox类对象,对于与IDC_COMBO1。这样当选择倒三角后就可以显示组合框内容了。在CBN_SELCHANGE响应函数里面添加:

    com_num=m_chosecom.GetCurSel();//com_num是在类CchoseCom里面添加的int型变量

    5.       再在类CChoseCom里面添加一个intpublic的函数PopComNum()函数体如下:

    int CChoseCom::PopComNum()

    {

           return com_num;

    }

    6.       然后在负类里面调用PopComNum()函数就可以获得选择的串口的值

     

    到这里功能就已经实现了。运行程序的时候首先弹出一个模态对话框,让我们选择串口,选择完后点击确定,这样父窗口就出现,然后就可以正常的运行了。呵呵,这个功能我想了老半天,结果实现起来原来这么简单!!


    展开全文
  • 记录记录我学习iOS过程中的学到的一些东西,并想照搬书上的文字内容,仅是写写我自己的学习记录。各位随便看看。  iOS的UITableView是开发中用得最广泛的控件,像微信、各种新闻、知乎日报等app的主体差不多...
  • 7.★前后台用户登录均支持首次不显示验证码模式。拥有多次失败登录后限时锁定及解锁机制。 8.用户模块记录用户的注册时间IP,每次登录的IP、手机、邮箱等细节,能通过简单的标记查看用户的密码修改情况。。每次登录...
  • 1、短信推送:需通过正规短信供应商发送,发送率和抵达率高,短信内容需要提前报备,根据发送量不同价格一样,越多越便宜。 2、邮件推送 3、通知栏推送:即指在手机的通知栏上会显示的一条通知信息。可以在用户...
  • 刚开始因为找到相关可以查阅的文档只能做兼容。偶然一次在 <strong><a href="http://stackoverflow.com/">stackoverflow</a></strong> 发现了问题的原因。 原文内容如下: <p><img alt="" src=...
  • 备用,以后慢慢学

    2010-05-21 14:14:33
    Ctrl+Alt+“+”和Ctrl+Alt+“-” 可以自动调整窗口以满屏缩放显示,使用此工具你就可以无论图片以多少百份比来显示的情况下都能全屏浏览!如果想要在使用缩放工具时按图片的大小自动调整窗口,可以在缩放工 具的...
  • 系统自带加密功能,对某些只想指定人看到的内容,可以通过加密实现; 后台管理开放提供批量审核、推荐、删除等大规模操作按钮,方便大家大批量更改网站,请大家操作时小心谨慎; 提供五种可选的列表模式标题列表...
  • 所以开发要求,在选择短信的时候如果短息内容超过500字的短息内容显示为红色。表示予发送,但是展现短信内容实用的是标记,无法对某些字体进行变色单独处理。当时感觉只能使用div展示短息内容,但是使用div...
  • AndroidWear 汇总通知

    2015-08-25 16:56:10
    例如,为接收到短信来创建通知,当同时收到多条短信时,应该显示多条通知,而是显示一条通知,提示 “2条信息”。 然而,汇总通知对于穿戴设备说很少有用,因为用户并能在穿戴设备上看到信息的详情...
  • 例如,为接收到短信来创建通知,当同时收到多条短信时,应该显示多条通知,而是显示一条通知,提示 “2条信息”。 然而,汇总通知对于穿戴设备说很少有用,因为用户并能在穿戴设备上看到信息的详情(只能...
  • 短信内容显示为:“工资发完放哪里?存安享赢,定期存款,保本保息,存期最短3个月,最低只需1000元起存,助您积攒点滴财富”,并附有链接。 其中,安享赢为浦发银行推出的一款储蓄存款产品。根据介绍,...
  • 先看图,因为这个DEMO是一个单线程,只是实现了观察者模式的基础,...这是Activity的展示,里面就一个EditText,测试的时候我会通过模拟器发送一条短信,然后这里会显示短信内容,我就贴xml代码了,只有一个控件
  • AT指令手册

    千次阅读 2017-08-02 14:42:41
    一、英文短信注意:直接输入命令是不显示命令的,你需要在开始输入ate1设置显示命令。 发:AT 收:OK 发:AT+CMGF=1收:OK 发:AT+CMGS="+8615083111880" (选择性加+86)发>data //data 为发送内容(enter 后以...
  • 当一个广播接收器接收到广播消息,并能通过可视化的界面来显示广播信息。这里我们可以通过状态提示栏(State Bar)来显示广播信息的内容,图标以及震动等信息。这就需要使用Notification控件和Notification ...
  • Android仿微信气泡聊天界面设计

    万次阅读 多人点赞 2013-07-31 23:48:20
    微信的气泡聊天是仿iPhone自带短信而设计出来的,不过感觉还不错可以尝试一下仿着微信的气泡聊天做一个Demo,给大家分享一下!... 聊天的内容是用ListView来显示的,将聊天的内容封装成一个ChatMsgEnt

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 256
精华内容 102
关键字:

来短信不显示内容