मैं इस कोडब्रॉडकास्ट रिसीवर क्लास में getAplicationContext का उपयोग कैसे करें?
package com.escortme.basic;
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 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";
//}
}
// Display the SMS as Toast.
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
Pol_ViewActivity appState = ((Pol_ViewActivity)getApplicationContext()); // ERROR
appState.move_map_to("33.786047","-59.187287");
}
}
}
का उपयोग कर संदेश SMS को सुनने के लिए प्रसारणकर्ता वर्ग का उपयोग कर रहा है और यह इतना
<receiver
android:name="com.escortme.basic.SMSReceiverActivity"
android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
की तरह प्रकट में परिभाषित किया है लेकिन समस्या यह कहते हैं, "विधि getApplicationContext() है एसएमएस रिसीवर सक्रियता प्रकार के लिए अपरिभाषित "।
क्या किसी को पता है कि यह क्यों हो रहा है और इसे कैसे ठीक किया जाए? धन्यवाद
'onReceive भीतर()', बस का उपयोग 'context.getApplicationContext()' –