在Android中接收短信-脚本已不幸停止
我用这个代码来接收短信。当手机收到短信时,我会收到一条信息,说明此脚本已停止。有人能帮忙吗 ReceivesmsActivity.java在Android中接收短信-脚本已不幸停止,android,Android,我用这个代码来接收短信。当手机收到短信时,我会收到一条信息,说明此脚本已停止。有人能帮忙吗 ReceivesmsActivity.java public class ReceivesmsActivity extends Activity { public TextView info; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat
public class ReceivesmsActivity extends Activity {
public TextView info;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receivesms);
info = (TextView) findViewById(R.id.info);
info.setText("Good");
}
public class Receivesms extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
try{
Bundle pudsBundle = intent.getExtras();
Object[] pdus = (Object[]) pudsBundle.get("pdus");
SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);
info.setText(messages.getMessageBody());
}catch(Exception e){
Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show();
}
}
这是我接收短信的清单文件:
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<receiver android:name=".ReceivesmsActivity">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
我建议您通过下面的代码
public class ReceivesmsActivity extends Activity
{
private static TextView info;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_receivesms);
info = (TextView) findViewById(R.id.info);
info.setText("Good");
}
public void setInfoText ( String str )
{
info.setText ( str );
}
}
public class Receivesms extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
try
{
Bundle pudsBundle = intent.getExtras();
Object[] pdus = (Object[]) pudsBundle.get("pdus");
SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);
//info.setText(messages.getMessageBody());
ReceivesmsActivity.setInfoText ( messages.getMessageBody().toString() );
}
catch(Exception e)
{
Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show();
}
}
}
当您的应用程序收到短信时,它是在后台还是前台?您的广播接收器类是否在活动中声明?请正确地将括号放在前台@kedarnath顺便说一下,您已将您的活动作为接收者包含在您的清单中它必须在活动或应用程序中@曼古斯塔