編輯:關於Android編程
直接給代碼吧:
[html]
package com.zte.android.greenweb.launcher.service;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsMessage;
public class InterceptSmsReciever extends BroadcastReceiver
{
// 廣播消息類型
public static final String SMS_RECEIVED_ACTION =
"android.provider.Telephony.SMS_RECEIVED";
@Override
public void onReceive(Context context, Intent intent)
{
String msgContent = "";
String functiontype = "";
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get("pdus");
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++)
{
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
msgContent = smsMessage[n].getMessageBody();
try
{
JSONObject json = new JSONObject(msgContent);
functiontype = json.getString("functiontype");
if (functiontype.equalsIgnoreCase("TimelyManage"))//
{
String opennet = json.getString("actiontype");
Intent in = new Intent();
in.putExtra("OpenNet", opennet);
context.sendBroadcast(intent);
deleteSMS(context, msgContent);
this.abortBroadcast();
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
}
public void deleteSMS(Context context, String smscontent)
{
try
{
// 准備系統短信收信箱的uri地址
Uri uri = Uri.parse("content://sms/inbox");// 收信箱
// 查詢收信箱裡所有的短信
Cursor isRead =
context.getContentResolver().query(uri, null, "read=" + 0,
null, null);
while (isRead.moveToNext())
{
// String phone =
// isRead.getString(isRead.getColumnIndex("address")).trim();//獲取發信人
String body =
isRead.getString(isRead.getColumnIndex("body")).trim();// 獲取信息內容
if (body.equals(smscontent))
{
int id = isRead.getInt(isRead.getColumnIndex("_id"));
context.getContentResolver().delete(
Uri.parse("content://sms"), "_id=" + id, null);
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
package com.zte.android.greenweb.launcher.service;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsMessage;
public class InterceptSmsReciever extends BroadcastReceiver
{
// 廣播消息類型
public static final String SMS_RECEIVED_ACTION =
"android.provider.Telephony.SMS_RECEIVED";
@Override
public void onReceive(Context context, Intent intent)
{
String msgContent = "";
String functiontype = "";
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get("pdus");
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++)
{
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
msgContent = smsMessage[n].getMessageBody();
try
{
JSONObject json = new JSONObject(msgContent);
functiontype = json.getString("functiontype");
if (functiontype.equalsIgnoreCase("TimelyManage"))//
{
String opennet = json.getString("actiontype");
Intent in = new Intent();
in.putExtra("OpenNet", opennet);
context.sendBroadcast(intent);
deleteSMS(context, msgContent);
this.abortBroadcast();
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
}
public void deleteSMS(Context context, String smscontent)
{
try
{
// 准備系統短信收信箱的uri地址
Uri uri = Uri.parse("content://sms/inbox");// 收信箱
// 查詢收信箱裡所有的短信
Cursor isRead =
context.getContentResolver().query(uri, null, "read=" + 0,
null, null);
while (isRead.moveToNext())
{
// String phone =
// isRead.getString(isRead.getColumnIndex("address")).trim();//獲取發信人
String body =
isRead.getString(isRead.getColumnIndex("body")).trim();// 獲取信息內容
if (body.equals(smscontent))
{
int id = isRead.getInt(isRead.getColumnIndex("_id"));
context.getContentResolver().delete(
Uri.parse("content://sms"), "_id=" + id, null);
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
[html]
<!-- 注冊Receiver,並且設置優先級 -->
<receiver
android:name="com.zte.android.greenweb.launcher.service.InterceptSmsReciever"
android:exported="true" >
<intent-filter android:priority="1000" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<!-- 注冊Receiver,並且設置優先級 -->
<receiver
android:name="com.zte.android.greenweb.launcher.service.InterceptSmsReciever"
android:exported="true" >
<intent-filter android:priority="1000" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
權限:
[html]
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
前言上一篇我們講到了EventBus3.0的用法,這一篇我們來講一下EventBus3.0的源碼以及它的利與弊。1.構造函數當我們要調用EventBus的功能時,比如注冊
在機器視覺實驗室呆了有一年半時間了,但由於自己“任性”。一直以來學習的內容都是自己來安排,我還是堅持認為沒有最好和最簡單的技術,只有自己喜歡的技術
在之前的博客中已經為大家介紹了,如何在win環境下配置DNK程序,本篇我將帶大家實現一個簡單的Hello jni程序,讓大家真正感受一下NDK開發的魅力。這裡我們選擇使用
Android網絡編程之獲取網絡上的Json 請尊重他人的勞動成果,轉載請注明出處:Android網絡編程之獲取網絡上的Json 為要獲取網絡上的Json所以需要