Para utilizar o ContentProvider da aplicação de mensagens, você deve adicionar as permissões no AndroidManifest.xml, para ler e escrever/excluir SMS:
<uses-permissionDepois é só acessar o ContentProvider:
android:name="android.permission.READ_SMS"/>
<uses-permission
android:name="android.permission.WRITE_SMS"/>
/* Essa URI traz as informações das mensagens, mas sem o corpo da mensagem.*/ Uri uriSms = Uri.parse("content://sms/inbox"); /* Já essa URI traz as informaçõesDepois é só abrir um cursor com a URI desejada
de uma mensagem específica.*/ Uri uriSms = Uri.parse("content://sms/1");
Cursor c = getContentResolver().query( uriSms, null,null,null,null);O código abaixo, lista todos os dados de todas as colunas do cursor, aí é só observar chave/valor.
int columns = c.getColumnCount(); while (c.moveToNext()){ for (int i = 0; i < columns; i++) { System.out.println( c.getColumnName(i) +"="+ c.getString(i)); } System.out.println("--"); }Para apagar uma mensagem, é só usar o código abaixo:
getContentResolver().delete( Uri.parse("content://sms/1"), null, null); getContentResolver().delete( Uri.parse("content://sms/inbox"), "address=88998899", null);4br4ç05,
nglauber
Um comentário:
Eu estava testando o código aqui citado
getContentResolver().delete(
Uri.parse("content://sms/inbox"),
"address=88998899", null);
Sei que o ContentResolver retorna com uma conexão com o banco de dados do celular
Mas em meus testes tive alguns problemas quanto ao código aqui citado, um deles foi que eu não conseguir filtrar usando o segundo parâmetro do "delete" nem o do "query" por motivos estranho.
Não sei o que causou tal erro pois eu seguir exatamente o que esta posto
O erro que apresentava era que a query executada estava errado
Obs: estou usando API 10 com pacote do google
Postar um comentário