1

特定の SMS が受信され、その SMS に特定の価値がある場合、新しいアクティビティを開始するにはどうすればよいですか? 私はインテントを使用しましたが、コードにエラーが表示されますこのエラーはインテントに表示されます

SmsReceiver 型のメソッド startActivity(Intent) は定義されていません

以下は私のコードです:

package com.mypackage;

import java.util.Map;

import android.content.BroadcastReceiver;
import android.content.Context;
 import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
 import android.widget.Toast;

  public class SmsReceiver extends BroadcastReceiver {

   public void onReceive(Context context, Intent intent) 
{
    //---get the SMS message passed in---
    Bundle bundle = intent.getExtras();        
    SmsMessage[] msgs = null;
    String str = "";            
    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();
            str += "\n";     
            if(str.contains("00"));
            {
                Intent k = new Intent(this.getApplicationContext(),    
   AgAppMenu.class);
                startActivity(k);
            }

        }
        //---display the new SMS message---
        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
    }   

}
  }
4

1 に答える 1

0

Activity新しいタスクとして開始する必要があります。

Intent k = new Intent(this.getApplicationContext(), AgAppMenu.class);
k.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(k);
于 2012-08-31T07:42:53.023 に答える