Android 如何通过onReceive方法将我的短信存储在sqlite数据库中

Android 如何通过onReceive方法将我的短信存储在sqlite数据库中,android,Android,我正在开发一个android应用程序,无法将我的短信存储到sqlite数据库中 使用onReceive方法,所以请帮助我完成代码片段 公共void onReceive(上下文、意图) { //从Intent获取SMS映射 Bundle extras=intent.getExtras() String messages=”“; 如果(附加值!=null) { //获取接收到的SMS阵列 Object[]smsExtra=(Object[])extras.get(SMS\u EXTRA\u NAME

我正在开发一个android应用程序,无法将我的短信存储到sqlite数据库中 使用onReceive方法,所以请帮助我完成代码片段

公共void onReceive(上下文、意图) { //从Intent获取SMS映射 Bundle extras=intent.getExtras()

String messages=”“;
如果(附加值!=null)
{
//获取接收到的SMS阵列
Object[]smsExtra=(Object[])extras.get(SMS\u EXTRA\u NAME);
//获取ContentResolver对象,用于将加密短信推送到传入文件夹
ContentResolver ContentResolver=context.getContentResolver();
对于(int i=0;i
显示一些代码,您被击中的地方。这是我的代码,请帮助我将其与代码片段一起输出
    String messages = "";

    if ( extras != null )
    {
        // Get received SMS array
        Object[] smsExtra = (Object[]) extras.get( SMS_EXTRA_NAME );

        // Get ContentResolver object for pushing encrypted SMS to incoming folder
        ContentResolver contentResolver = context.getContentResolver();

        for ( int i = 0; i < smsExtra.length; ++i )
        {
            SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);

            String body = sms.getMessageBody().toString();
            String address = sms.getOriginatingAddress();

            messages += "SMS from " + address + " :\n";                    
            messages += body + "\n";

            // Here you can add any your code to work with incoming SMS
            // I added encrypting of all received SMS 

            putSmsToDatabase( contentResolver, sms );
        }

        // Display SMS message
        Toast.makeText( context, messages, Toast.LENGTH_SHORT ).show();
    }

    // WARNING!!! 
    // If you uncomment next line then received SMS will not be put to incoming.
    // Be careful!
    this.abortBroadcast(); 
}

private void putSmsToDatabase( ContentResolver contentResolver, SmsMessage sms )
{
    // Create SMS row
    ContentValues values = new ContentValues();
    values.put( ADDRESS, sms.getOriginatingAddress() );
    values.put( DATE, sms.getTimestampMillis() );
    values.put( READ, MESSAGE_IS_NOT_READ );
    values.put( STATUS, sms.getStatus() );
    values.put( TYPE, MESSAGE_TYPE_INBOX );
    values.put( SEEN, MESSAGE_IS_NOT_SEEN );
    try
    {
        String encryptedPassword= sms.getMessageBody().toString();
        //String encryptedPassword = StringCryptor.encrypt( new String(PASSWORD), sms.getMessageBody().toString() ); 
        values.put( BODY, encryptedPassword );
    }
    catch ( Exception e ) 
    { 
        e.printStackTrace(); 
    }

    // Push row into the SMS table
    contentResolver.insert( Uri.parse( SMS_URI ), values );
}