对传入消息执行文本分析
Perform Text analysis on Incoming messages
我正在创建一个 android 应用程序,它将通过短信检测人的情绪,它将搜索 emo 和描述情绪的关键字,我已经完成了其他部分,但现在我要发送消息,
我设定了一个条件,即我的应用程序将在发送 10 条消息后检查人员心情并搜索关键字并设置 his/her 心情。
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);
}
}
现在我的代码正在读取消息并找到关键字,但我需要两件事的帮助:
- 如何获取最新消息。
- 正在对邮件应用自定义词典。
使用以下内容阅读收件箱
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"/>
希望对您有所帮助!
我正在创建一个 android 应用程序,它将通过短信检测人的情绪,它将搜索 emo 和描述情绪的关键字,我已经完成了其他部分,但现在我要发送消息, 我设定了一个条件,即我的应用程序将在发送 10 条消息后检查人员心情并搜索关键字并设置 his/her 心情。
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);
}
}
现在我的代码正在读取消息并找到关键字,但我需要两件事的帮助:
- 如何获取最新消息。
- 正在对邮件应用自定义词典。
使用以下内容阅读收件箱
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"/>
希望对您有所帮助!