gpt4 book ai didi

android - 短信处理sqlite比较了android的自定义 ListView

转载 作者:行者123 更新时间:2023-11-29 01:59:04 24 4
gpt4 key购买 nike

如何将 getOriginatingAddress() 中的电话号码与我的自定义联系人 ListView 进行比较?我想将状态更改为“可用”,但它不会更新我的 ListView ,仍然显示默认的“不可用”。如果我使用的条件“KEY_NUMBER = mNumber”不是主键,是否可以使用 ourDatabase.update()?提前感谢您的帮助

public void updateStatusAvailable(String mNumber) throws SQLException 
{
// TODO Auto-generated method stub
ContentValues cvUpdate = new ContentValues();
cvUpdate.put(KEY_STATUS, "AVAILABLE");
ourDatabase.update(DATABASE_TABLE, cvUpdate, KEY_NUMBER + "=" + mNumber, null);
}

这是我如何获取发件人的电话号码

public String aStatus = "available";
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
info = new GroupDb(context);
Bundle bundle = intent.getExtras();
Object[] pdusObj = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdusObj.length];
for (int i = 0; i<pdusObj.length; i++)
{
messages[i] = SmsMessage.createFromPdu ((byte[])
pdusObj[i]);
sender = messages[i].getOriginatingAddress();
}

for (SmsMessage msg : messages) {
if (msg.getMessageBody().contains("available")) {
info.open();
Toast.makeText(context.getApplicationContext(), "received sms from: " +sender,
Toast.LENGTH_SHORT).show();

info.updateStatusAvailable(sender);

info.close();
}//end if - available

if(msg.getMessageBody().contains("notavailable"))
{


}//end if - not available
}//end for

}// end onreceive

我担心的另一件事是我的联系人列表,如果我输入号码为“09211234567”,原始地址可能会返回“+639211234567”。我已经在模拟器中尝试过并将其发送到地址“5556”,但 getOriginatingAddress() 返回了类似“15555215556”的内容。我该如何处理?

最佳答案

您必须刷新您的 ListView 。这是因为 ListView 一旦显示,将不会自动刷新。

您可以在数据库更新完成后执行此操作。

为了刷新您的 ListView ,请参阅:How to refresh Android listview?

关于android - 短信处理sqlite比较了android的自定义 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13603992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com