我需要開發一個Android應用程序,它將接收來自特定發件人的SMS,當收到SMS時,應用程序必須激活並獲得SMS附帶的所有價值,請給我答案?如何通過來自特定SMS發件人的SMS(特定SMS端口)激活Android應用程序
1
A
回答
1
您可以使用BroadcastReciver讀取短信。並提取該短信並保存在Android數據庫中的值。當您調用第一個Activity時,請檢查DataBase中包含的特定值,然後僅啓動該Activity。
public class ReadingMessage extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
DBAdapter dbHelper = new DBAdapter(context);
SmsMessage[] msgs = null;
String msg=null;
String str=null;
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
msg = msgs[i].getMessageBody().toString();
str =msg.toUpperCase();
if(str.contains("your value"))
{
try{
dbHelper.open();
dbHelper.insertinfo(msg);
dbHelper.close();
}
catch(Exception e)
{
e.toString();
}
}
}
}
}
}
此代碼用於閱讀短信。
public class StartActivity extends Activity{
private static final int ACTIVITY_REGISTRATION1=0;
private static final int ACTIVITY_SENDALERT3=1;
private static final int ACTIVITY_REGISTRATION2 = 2;
Context context;
DBAdapter dbHelper=null;
Intent intent;
String db_activation=null;
Cursor cursor;
public StartActivity()
{
this.context=this;
}
@Override
/* Method Header
* Method Name : onCreate
* Input Parameter : Bundle
* Return Value : nil
*/
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
dbHelper=new DBAdapter(this);
try
{
dbHelper.open();
cursor = dbHelper.getActivtaion();
if(cursor.getCount()==0)
{
intent=new Intent(this,Registration.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
startActivityForResult(intent,ACTIVITY_REGISTRATION1);
}
else
{
for(int i=0;i<cursor.getCount();i++)
{
cursor.moveToNext();
db_activation = cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_ACTIVATION));
if(db_activation.equals("1"))
{
intent=new Intent(this,SendAlert.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
startActivityForResult(intent,ACTIVITY_SENDALERT3);
}
else
{
intent=new Intent(this,Registration.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
startActivityForResult(intent,ACTIVITY_REGISTRATION2);
}
dbHelper.close();
}
}
}
catch(Exception e)
{
finish();
System.exit(0);
e.toString();
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
finish();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
finish();
}
}
此代碼爲所述第一活動
public long insertTruckinfo(String db_Truckmsg)
{
ContentValues cVal=new ContentValues();
cVal.put(KEY_INFO,db_Truckmsg);
return db.insert(TRUCKINFO_TABLE, null,cVal);
}
public Cursor getActivtaion()
{
Cursor cursor =db.query(ACTIVATION_TABLE, new String[] {KEY_ID,KEY_ACTIVATION}, null,null, null, null, null);
return cursor;
}
public Cursor getTruckinfo()
{
Cursor cursor =db.query(TRUCKINFO_TABLE, new String[] {KEY_ID,KEY_INFO}, null,null, null, null, null);
return cursor;
}
這在數據庫類。
我覺得這對你很有幫助....
1
使用廣播接收器捕獲所有傳入的消息。但是,何時,何時以及如何初始化接收器取決於您的應用程序。您可以在啓動時或首次打開您的應用程序時執行此操作。
您將不得不掃描所有傳入的短信,讀取內容和號碼,並在應用程序內的某處檢查並設置標誌。
相關問題
- 1. 從SMS調用一個flex應用程序時,來自SMS的
- 2. 獨特的SMS發件人ID?
- 3. Microsoft SMS發件人
- 4. Android通過其線程ID打開特定SMS-Thread
- 5. SMS應用的Android開發
- 6. 備用SMS發件人
- 7. Android sms通知
- 8. android:在安裝其他SMS應用程序時阻止SMS
- 9. Android的 - 通過內置的SMS應用
- 10. 接收並存儲SMS到特定應用程序
- 11. 如何在ASP.Net上創建SMS發件人應用程序?
- 12. android(sendintent)on sms send sms
- 13. 如何通過SMS數據包發送應用程序
- 14. 如何通過應用程序發送和接收SMS?
- 15. Bulk Sms發件人php
- 16. 只讀取特定的SMS消息?
- 17. 從源代碼自定義Android MMS/SMS應用程序?
- 18. 我的應用程序是否可以攔截SMS,如果我也負責將這些SMS與已知的特定SMS短代碼一起發送?
- 19. 基於SMS的應用程序如何
- 20. 使用API的SMS發件人應用程序
- 21. 接收特定的SMS並使用Android應用程序進行詳細說明?
- 22. 導入或攔截來自特定電話號碼的SMS,Iphone
- 23. Android:打開指定多個收件人的SMS活動
- 24. 如何根據條件將SMS傳遞到默認的SMS應用程序
- 25. 在Android中使用SMS和端口
- 26. 如何檢查通過Android中的廣播接收器收到的特定SMS
- 27. 在Android中阻止特定號碼的SMS推送通知
- 28. 集成sms API與android應用程序
- 29. 在Android中創建SMS應用程序?
- 30. 修補android原生SMS應用程序
非常感謝! – iShader
真棒非常感謝你.......! - 將來需要你的幫助 – iShader