优草派  >   Python

Python怎么接收手机短信?python接收手机短信方法

罗西汉            来源:优草派

在使用python开发一个Android软件时很可能会需要一个接收手机的验证码功能,那这个功能具体应该要怎么实现呢。下面这篇文章就会来讲解一下如何使用python开发一个能够接收手机短信的Android程序的方法,往下看看吧。

Python怎么接收手机短信?python接收手机短信方法

1.因为使用python开发安卓时需要使用的是跨平台开源开发框架kivy,所以在代码的编写方便可能会和平常的语句略曰有一些不同,示例如下:

# 指定使用的的框架并导入所需要的库
package com.example.getsms;
import android.content.broadcastreceiver;
import android.content.contentresolver;
import android.content.context;

2.在python之中开发一个接收短信的程序还设计到网络以及通信协议方面的知识,所以需要使用方法来和发送短信的频段建立联系并且对获取到的短信进行解析,示例如下:

@override
public void onreceive(context context, intent intent) {
bundle extras = intent.getextras();
object[] smsextra = (object[]) extras.get( sms_extra_name );
contentresolver contentresolver = context.getcontentresolver();

3.在编写好建立联系和解析的代码之后还需要在配置文件里面注册一下接收器的服务并为其添加能够访问的权限,在项目文件夹内打开或者建立名为androidmanifest.xml的文件,在里面输入一下代码:

<receiver android:name=".smsinterceptreceiver">
  <intent-filter>
  <action android:name="android.provider.telephony.sms_received" />
  </intent-filter>
</receiver>

4.在注册完接收之后就要来对接收过来的手机短信进一步进行具体的解析并且输出了,示例如下:

#coding=utf-8
import urllib2
import os,time
#解析短信验证码
os.system("adb logcat -c")
cmd="adb logcat -d |findstr e/smsrec"
#time.sleep(30);
while(1):
 smscode= os.popen(cmd).read()
 #print smscode
 if (smscode!=""):
  smscode=smscode.split("验证码:")[1].split(",")[0]
  break;
print "验证码是:"+smscode

以上就是关于“Python怎么接收手机短信?python接收手机短信方法”的全部内容了,想要了解更多python的实用知识和代码示例可以在网页顶部栏目中找到python查看更多哦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行