2012-11-08 49 views
1

我想刪除我的消息中的所有消息,只需點擊一下按鈕。但我已經嘗試過下面的代碼,它不工作......有人可以幫助我實現這一目標嗎?謝謝...如何刪除Android中SMS收件箱中的所有消息?

public class DeleteSMSActivity extends Activity implements OnClickListener{ 
/** Called when the activity is first created. */ 
Button press; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    press = (Button)findViewById(R.id.button1); 
    press.setOnClickListener(this); 
} 

public void onClick(View view){ 

    ContentResolver cr = getContentResolver(); 
    Uri inboxUri = Uri.parse("content://sms/inbox"); 
    Cursor c = cr.query(inboxUri , null, null, null, null); 
    while (c.moveToNext()) { 
     // Delete the SMS 
     String pid = c.getString(0); // Get id; 
     String uri = "content://sms/" + pid; 
     cr.delete(Uri.parse(uri), null, null); 
    } 
} 
} 

我應該在Manifest中添加什麼?在使用我的Galaxy Tab進行測試時有力度關閉2

回答

7

嘗試_id刪除:

Cursor c = getApplicationContext().getContentResolver().query(Uri.parse("content://sms/"), null, null, null,null); 
try { 
     while (c.moveToNext()) { 
     int id = c.getInt(0); 
     getApplicationContext().getContentResolver().delete(Uri.parse("content://sms/" + id), null, null); 
     } 

    }catch(Exception e){ 
     Log.e(this.toString(),"Error deleting sms",e); 
    }finally { 
     c.close(); 
    } 
+1

這是問題的正確答案... – Venkat

+0

我想對我的三星Galaxy Tab ...的應用程序強制關閉 – user1782267

+0

@ user1782267加'抓'塊。 –

0

刪除URI是「content:// sms /」+ id;

Uri inboxUri = Uri.parse("content://sms/inbox"); 
int count = 0; 
Cursor c = context.getContentResolver().query(inboxUri , null, null, null, null); 
while (c.moveToNext()) { 
    try { 
     // Delete the SMS 
     String pid = c.getString(0); // Get id; 
     String uri = "content://sms/" + pid; 
     count = context.getContentResolver().delete(Uri.parse(uri), 
       null, null); 
    } catch (Exception e) { 
    } 
} 
return count; 

你也可以參考,HERE & HERE瞭解更多詳細信息這個話題。 希望它能幫助你。

0

從收件箱中刪除短信,您需要使用在宣佈允許您的清單

<uses-permission android:name="android.permission.READ_SMS"/> 
<uses-permission android:name="android.permission.WRITE_SMS"/> 

現在你就可以刪除你的收件箱中的短信,現在你不會得到的力量關閉你的模擬器

相關問題