안 드 로 이 드 에서 문자 읽 기
5842 단어 JavaScript.netandroidsqliteOS
원본 주소:http://hi.baidu.com/miuchen/blog/item/d5313b34bf35b887a61e1288.html
import android.app.Activity;
import android.content.ContentValues;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.TextView;
public class mini extends Activity {
/** *//** Called when the activity is first created. */
private static final String LOG_TAG = "Sms Query";
// onCreate
@Override
public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
tv.setText(getSmsAndSendBack());
setContentView(tv);
}
/** *//**
*
* @return
*/
public String getSmsAndSendBack()
{
String[] projection = new String[] {
"_id",
"address",
"person",
"body"
};
StringBuilder str=new StringBuilder();
try{
Cursor myCursor = managedQuery(Uri.parse("content://sms/inbox"),
projection,
null, null , "date desc");
str.append(processResults(myCursor, true));
str.append("getContactsAndSendBack has executed!");
/**//* myCursor = managedQuery(Uri.parse("content://sms/inbox"),
new String[] { "_id", "address", "read" },
" address=? and read=?",
new String[] { "12345678901", "0" }, "date desc");*/
}
catch (SQLiteException ex)
{
Log.d(LOG_TAG, ex.getMessage());
}
return str.toString();
}
/** *//**
*
* @param cur
* @param all 。 all,
*/
private StringBuilder processResults(Cursor cur, boolean all) {
// TODO Auto-generated method stub
StringBuilder str=new StringBuilder();
if (cur.moveToFirst()) {
String name;
String phoneNumber;
String sms;
int nameColumn = cur.getColumnIndex("person");
int phoneColumn = cur.getColumnIndex("address");
int smsColumn = cur.getColumnIndex("body");
do {
// Get the field values
name = cur.getString(nameColumn);
phoneNumber = cur.getString(phoneColumn);
sms = cur.getString(smsColumn);
str.append("{");
str.append(name+",");
str.append(phoneNumber+",");
str.append(sms);
str.append("}");
if (null==sms)
sms="";
/**//* if (all)
mView.loadUrl("javascript:navigator.SmsManager.droidAddContact('" + name + "','" + phoneNumber + "','" + sms +"')");
else
mView.loadUrl("javascript:navigator.sms.droidFoundContact('" + name + "','" + phoneNumber + "','" + sms +"')");*/
} while (cur.moveToNext());
/**//* if (all)
mView.loadUrl("javascript:navigator.SmsManager.droidDone()");
else
mView.loadUrl("javascript:navigator.sms.droidDone();");*/
}
else
{
str.append("no result!");
/**//* if(all)
mView.loadUrl("javascript:navigator.SmsManager.fail()");
else
mView.loadUrl("javascript:navigator.sms.fail('None found!')");*/
}
return str;
}//processResults
}
public final static String SMS_URI_ALL = "content://sms/"; //0
public final static String SMS_URI_INBOX = "content://sms/inbox";//1
public final static String SMS_URI_SEND = "content://sms/sent";//2
public final static String SMS_URI_DRAFT = "content://sms/draft";//3
public final static String SMS_URI_OUTBOX = "content://sms/outbox";//4
public final static String SMS_URI_FAILED = "content://sms/failed";//5
public final static String SMS_URI_QUEUED = "content://sms/queued";//6
_id=>짧 은 메시지 번호 100
thread_id=>대화 번호 100
address=>보 낸 사람 주소,핸드폰 번호.예 를 들 어+8613811810000
person=>보 낸 사람,돌아 오 는 숫자 는 연락처 목록 의 번호 입 니 다.낯 선 사람 은 null 입 니 다.
날짜 long 형.1256539465022
protocol=>프로 토 콜 0 SMSRPOTO, 1 MMS_PROTO
read=>0 읽 지 않 았 는 지,1 읽 었 는 지 여부
status=>상태-1 수신,0 완료,64 보류,128 실패
type=>형식 1 은 받 았 습 니 다.2 는 보 냈 습 니 다.
body=>짧 은 메시지 내용
service_center=>문자 서비스 센터 번호.예 를 들 어+8613800755500
AndroidManifest.xml 에 android.permission.READ 를 추가 하 는 것 을 기억 하 세 요.SMS 라 는 권한
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.