【发布时间】:2017-08-19 18:19:12
【问题描述】:
我使用此代码删除未读短信,但它仅适用于 Android 4.4,不适用于 Android 7.0。我必须对代码进行哪些更改才能使其在 Android 7.0 上运行?
void __fastcall TForm1::Button4Click(TObject *Sender)
{
_di_JCursor cursor;
_di_Jnet_Uri uri;
uri = StrToJURI( "content://sms" );
cursor = SharedActivity()->getContentResolver()->query( uri, nullptr, StringToJString(L"read = 0"), nullptr, nullptr );
if ( cursor )
{
while( cursor->moveToNext() )
{
int adresidx = cursor->getColumnIndex( StringToJString(L"address") );
int sms_id = cursor->getColumnIndex( StringToJString(L"_id") );
String adres = JStringToString( cursor->getString(adresidx) );
String smsid = JStringToString( cursor->getString(sms_id) );
TJavaObjectArray__1<_di_JString> *arg = new TJavaObjectArray__1<_di_JString>(1);
arg->Items[0] = StringToJString(smsid);
SharedActivity()->getContentResolver()->Delete( uri, StringToJString("_ID=?"), arg );
}
}
}
【问题讨论】:
-
在 7.0 上没有任何反应,就像什么都没发生一样。什么是堆栈跟踪?在 6.0 上未测试
-
如何获得?
标签: android c++ c++builder-2010