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ções
de uma mensagem específica.*/
Uri uriSms = Uri.parse("content://sms/1");
Depois é só abrir um cursor com a URI desejada
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