Ich habe eine Klasse, die BroadcastReceiver
erweitert. Nach Erhalt einer SMS möchte ich Informationen an meine Hauptaktivitätsklasse weitergeben, um den Text in einem Feld anzuzeigen (Anhängen, wenn bereits Text vorhanden ist).Sendender Intent von der BroadcastReceiver-Klasse zur aktuell laufenden Aktivität
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
Intent i = new Intent(context, MainActivity.class);
i.putExtra("updatedString","Hello");
context.startActivity(i);
}
}
MainActivity.java
public class MainActivity extends Activity{
private TextView results;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle extras = getIntent().getExtras();
if(extras!=null){
results = (TextView) findViewById(R.id.results);
results.setVisibility(View.VISIBLE);
results.append(extras.getString("updatedString"));
}
}
ich nur eine Aktivitätsklasse haben (MainActivity.java
). Aber wenn ich dies tue, bekomme ich eine Ausnahme, die Aktivität nicht pausieren kann.
Wie schicke ich die Nachricht von SmsReceiver Class.Ich habe folgenden Code geschrieben: Absicht i = neue Absicht ("SMS_RECIEVED"); i.putExtra ("updatedString", str); LocalBroadcastManager mgr = LocalBroadcastManager.getInstance (Kontext); mgr.sendBroadcast (i); – user1692342
Welchen Weg möchten Sie nutzen? 1 oder 2 oder 3? – MHP
Ich versuche Methode 1 – user1692342