在我的 android 项目中,我需要在 SMS 文本进入时检测和读取它们,然后从另一个类调用一个函数。
如何将以下代码放在一个类中并在清单中正确定义它。如果我把它放在另一个 Java 文件上,那么我不知道如何从另一个 Java 文件调用函数。我尝试将此代码放在我的主类中,但在我的应用程序中,它就崩溃了。
public class SMSReceiverActivity extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Parse the SMS.
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
// Retrieve the SMS.
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
// In case of a particular App / Service.
//if(msgs[i].getOriginatingAddress().equals("+91XXX"))
//{
//str += "SMS from " + msgs[i].getOriginatingAddress();
//str += " :";
str += msgs[i].getMessageBody().toString();
str += "\n";
//}
}
if (str != "") { // remove the last \n
str = str.substring(0, str.length()-1);
}
Reusable_CodeActivity.alert(my_ViewActivity.this, "AAAAAAAAAAA");
try {
//my_ViewActivity.this.handle_incoming_message(str);
} catch(Exception e) {
}
}
}
}