『壹』 android怎樣實現用代碼從資料庫獲取簡訊內容等等
資料庫獲取代碼如下:
String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME;
File dir = new File(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
InputStream is = context.getResources().openRawResource(R.raw.jobexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
is.close();
}
db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
『貳』 安卓如何添加代碼讓簡訊可以發送圖片實現發送彩信。
手機通過簡訊傳輸多媒體文件(如圖片、視頻、音樂)的方法如下:
點擊信息-編寫圖標-點擊回形針圖標-添加圖片、音頻、視頻-選擇您需要添加的附件-發送即可。註:通過信息發送圖片、音樂等實際為通過彩信發送,請您確認已開通了GPRS數據業務,發送彩信可能會產生資費,請聯系運營商確認。
『叄』 android直接發送p編碼後的簡訊
實現過程:
1>初始化:ATZ\r
2>設置文本模式:AT+CMGF=0\r(0:p模式,1:text模式)
3>設置PDU頭:
typedef struct {
char SCA[16]; // 短消息服務中心號碼(SMSC地址)
char TPA[16]; // 目標號碼或回復號碼(TP-DA或TP-RA)
char TP_PID; // 用戶信息協議標識(TP-PID)
char TP_DCS; // 用戶信息編碼方式(TP-DCS)
char TP_SCTS[16]; // 服務時間戳字元串(TP_SCTS), 接收時用到
char TP_UD[16]; // 原始用戶信息
char index; //短消息序號,在讀取時用到
}SM_PARAM;
// SMSC地址信息段
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->SCA); // SMSC地址字元串的長度
buf[0] = (char)((nLength & 1) == 0 ? nLength : nLength + 1) / 2 + 1; // SMSC地址信息長度
buf[1] = 0x91; // 固定: 用國際格式號碼
nDstLength = gsmBytes2String(buf, pDst, 2); // 轉換2個位元組到目標PDU串
nDstLength += gsmInvertNumbers(pSrc->SCA, &pDst[nDstLength], nLength); // 轉換SMSC到目標PDU串
// TPDU段基本參數、目標地址等
memset(buf, 0, sizeof(buf));
nLength = strlen(pSrc->TPA); // TP-DA地址字元串的長度
buf[0] = 0x11; // 是發送簡訊(TP-MTI=01),TP-VP用相對格式(TP-VPF=10)
buf[1] = 0; // TP-MR=0
buf[2] = (char)nLength; // 目標地址數字個數(TP-DA地址字元串真實長度)
buf[3] = 0x91; // 固定: 用國際格式號碼
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 轉換4個位元組到目標PDU串
nDstLength += gsmInvertNumbers(pSrc->TPA, &pDst[nDstLength], nLength); // 轉換TP-DA到目標PDU串
// TPDU段協議標識、編碼方式、用戶信息等
//nLength = strlen(pSrc->TP_UD); // 用戶信息字元串的長度
memset(buf, 0, sizeof(buf));
buf[0] = pSrc->TP_PID; // 協議標識(TP-PID)
buf[1] = pSrc->TP_DCS; // 用戶信息編碼方式(TP-DCS)
buf[2] = 1; // 有效期(TP-VP)為5分鍾
buf[3] = str2hex(user_p, pSrc->TP_UD); //用戶信息的長度
nDstLength += gsmBytes2String(buf, &pDst[nDstLength], 4); // 轉換該段數據到目標PDU串
strcat(p, "\x01a"); //以CTRL-A結束
gsmString2Bytes(p, &nSmscLength, 2); // 取PDU串中的SMSC信息長度
4>發送信息長度:AT+CMGS=長度,這步重要長度不對是發不出去的。
5>發送用戶信息
1、目前,發送短消息常用Text和PDU(Protocol Data Unit,協議數據單元)模式。
1>使用Text模式收發簡訊代碼簡單,實現起來十分容易,但最大的缺點是不能收發中文簡訊;
2>使用PDU模式不僅支持中文簡訊,也能發送英文簡訊。
2、PDU模式收發簡訊可以使用3種編碼:
1>7-bit(用於發送普通的ASCII字元,它將一串7-bit的字元(最高位為0)編碼成8-bit的數據,每8個字元可 「壓縮」成7個)
2>8-bit(通常用於發送數據消息,如:圖片了,鈴聲等等)
3>UCS2編碼(用於發送Unicode字元)
『肆』 如何用eclipse編寫android app實現發簡訊的功能
大概的寫一下步驟給你:
1.在android工程的配置文件里加上調用系統簡訊功能的許可權:
java"><uses-permissionandroid:name="android.permission.SEND_SMS"></uses-permission>
<uses-permissionandroid:name="android.permission.READ_SMS"></uses-permission>
<uses-permissionandroid:name="android.permission.RECEIVE_SMS"></uses-permissin>
2、主要代碼片段:
{
...
privatevoidsend1(Stringphone,Stringmessage){
PendingIntentpi=PendingIntent.getActivity(this,0,newIntent(this,testSms.class),0);
SmsManagersms=SmsManager.getDefault();
sms.sendTextMessage(phone,null,message,pi,null);
}
}
參數:phone:手機號碼
message:簡訊內容
『伍』 android 開發 一個通過服務端內容自動發送簡訊到指定號碼
調用系統的發送簡訊界面,只需向系統發送一個Intent,並附帶相關參數就可以了,下面以一個仿差demo說明。
類似下圖的界面
activity_main.xml
[html] view plain
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btn_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/padding_small"
android:gravity="center"
android:paddingLeft="@dimen/padding_small"
android:paddingRight="@dimen/padding_small"
android:text="@string/btn_send" />
<EditText
android:id="@+id/edit_phone_number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/btn_send"
android:layout_marginLeft="@dimen/padding_small"友悔
android:layout_marginRight="@dimen/padding_small"
android:layout_toLeftOf="@id/btn_send"
android:hint="@string/edittext_hint"
android:inputType="phone"
android:paddingLeft="@dimen/padding_small" />
</RelativeLayout>
然後在MainActivity中編寫相應的Java代碼就可以了,操作很簡單,在EditText中輸入號碼,然後點擊Send,就跳到系統發備告皮送簡訊界面,並且接收人一欄里填入號碼。相關的代碼如下:
獲取控制項,響應Button的點擊事件:
[java] view plain
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.edit_phone_number);
mButton = (Button) findViewById(R.id.btn_send);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String phoneNumber = mEditText.getText().toString();
if (!TextUtils.isEmpty(phoneNumber)) {
sendSmsWithNumber(MainActivity.this, phoneNumber);
}
}
});
}
向指定號碼發送簡訊:
[java] view plain
/**
* 調用系統界面,給指定的號碼發送簡訊
*
* @param context
* @param number
*/
public void sendSmsWithNumber(Context context, String number) {
Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + number));
context.startActivity(sendIntent);
}
這樣點擊Send後,就會跳轉到系統簡訊界面了,並且接收人一欄里就是剛才你填寫的號碼。
同理,要想調用系統發送簡訊界面後附加簡訊內容和以上是類似的,只需在Intent中附帶相關的參數就可以了。
[java] view plain
/**
* 調用系統界面,給指定的號碼發送簡訊,並附帶簡訊內容
*
* @param context
* @param number
* @param body
*/
public void sendSmsWithBody(Context context, String number, String body) {
Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
sendIntent.setData(Uri.parse("smsto:" + number));
sendIntent.putExtra("sms_body", body);
context.startActivity(sendIntent);
}
『陸』 Android關於簡訊的源代碼在packages/apps/Mms ,可是packages/apps/Mms這個在哪裡
你是要看手機在系統根目錄下的存有簡訊信息的代碼或文字嗎,首先要有root許可權,然後要有能打開系統根目錄的文件管理器,推薦re管理器(界面簡單內存小),文件路徑:根目錄/data/data/ com.android.providers.telephony/databases/mmssms.db
mmssms.db選擇資料庫查看,點開word或word_content可以看到簡訊內容,我截圖給你看,滿意請採納,謝謝!