2016-12-03 5 views
0

私は、テキストメッセージを通じて人の気分を検出するアンドロイドアプリケーションを作成しています。感情を表現するemoとキーワードを検索します。他にも行っていますが、今はメッセージに来ます。 私は、10のメッセージが送信され、キーワードを検索し、気分を設定した後、自分のアプリケーションが人の気分をチェックするという条件を作りました。送信されたメッセージを通して人の気分を検出する

package com.example.aqib.myapplication; 

import android.content.Context; 
import android.database.Cursor; 
import android.net.Uri; 
import android.telephony.*; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.Toast; 



public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     Uri uriSMSURI = Uri.parse("content://sms/sent"); 
     Cursor cur = getContentResolver().query(uriSMSURI, new String[]{"_id", "thread_id", "address", "person", "date", "body"}, null, null, null); 
     if (cur.getCount() > 0) { 
      while (cur.moveToNext()) { 
       String smsBody = cur.getString(5); 
       Log.v("body", smsBody); 

       if (smsBody.contains(":(")) { 
        Toast.makeText(getApplicationContext(), "found sad smiley in ur texts", Toast.LENGTH_LONG).show(); 
       } 
       else{ 
        Toast.makeText(getApplicationContext(),"didnt found what u are looking for",Toast.LENGTH_LONG).show(); 
       } 
      } 
     } 
     super.onCreate(savedInstanceState); 
    } 
} 

今の私のコードは、メッセージを読んでいるともキーワードを見つけたが、私は2つのことで助けをしたい:

  1. 最新の10件のメッセージ
  2. にキーワードを10件のメッセージを取得し、検索を取得する方法それら

答えて

0

受信トレイ

Uri message = Uri.parse("content://sms/inbox"); 

int j = 0; 
    Cursor c =this.getContentResoulver().query(message, null, null, null, null); 

    int totalSMS = c.getCount(); 
if(totalSms >10) 
j = 10; 
else 
j= totalSms; 

if (c.moveToFirst()) { 
    for (int i = 0; i < j;i++) { 
    String messageBody = c.getString(c.getColumnIndex ("body")); 
c.moveToNext(); 
     } 
} 
を読み取るための次を使用します。

次の文字列の使用を分割し、

String[] splitted_message = stringObject.split(""); 

キーワードを検索し、この配列はあなたのキーワードで

いけない

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

がそれを願って権限を追加することを忘れを確認することができます言葉が含まれているために助けて!

+0

私はあなたの答えを教えてくれました。splitted_messageの代わりに、stringobjectではなく、メッセージを含む文字列を使用する必要がありますか? #thanks – bravo

+0

ええと..文字列オブジェクト... –

+0

あなたは正しい答えとしてそれを選択することができますポイントを持っていればいいですか? –

関連する問題