package com.furniture;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
public class smsreciever extends BroadcastReceiver
{
public String value;
@Override
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
String info="";
if (bundle != null)
{
//---retrieve the SMS message received---
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]);
str += "SMS from " + msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
info=msgs[i].getMessageBody().toString();
str += "\n";
}
//---display the new SMS message---
// Intent i1=new Intent();
//((Gloabal)this.get).setData(str);
Gloabal.setData(info);
//Gloabal g1=new Gloabal();
//Global g = (Global)getApplication();
//int data=g.getData();
//String temp=Gloabal.getData();
Log.v("sanketh","smsreciver value of str:"+str);
//int a=1;
//Log.v("sanketh","global value :"+temp);
//g1.setData(str);
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
String ref=Gloabal.getData();
if(ref!=null)
{
Log.v("sanketh","value of refer="+ref);
if(ref.equals(info))
{
Log.v("sanketh","value =1");
Intent i1=new Intent(context,login.class);
i1.putExtra("confirm", info);
// startActivityForResult(i1, 0);
startActivity(i1);
//Toast.makeText(Context, "mathces", 5).show();
}else
{
Log.v("sanketh","value =2");
//Toast.makeText(con, "doesnot match", 5).show();
}
}
}
}
}
startActivity(i1); //这行正在创建错误,说这个smsreceiver类的方法是未定义的,现在问题看起来是,是否需要在扩展活动类的类中调用?它是必需的吗?或者我们可以在任何一个班级中调用它吗?在某些班级中我没有作为争论的观点,所以我的时间不足以满足某些功能所需的争论,如吐司或意图。
答案 0 :(得分:3)
我的朋友非常简单。只需以这种方式使用此意图:
Intent i1 = new Intent(context, login.class);
i1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i1);
我认为你能够解决问题。
享受!!
我的答案会帮助你,然后不要忘记支持。 :)
答案 1 :(得分:1)
使用context.startActivity(i1);
您可以使用从Activity类传递的context
来调用另一个活动