Tôi có một lớp học mở rộng BroadcastReceiver
. Khi nhận được một tin nhắn SMS, tôi muốn chuyển thông tin đến lớp hoạt động chính của tôi để hiển thị văn bản trong một hộp (Thêm, nếu đã có văn bản).Gửi mục đích từ lớp BroadcastReceiver đến hoạt động hiện đang hoạt động
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"));
}
}
Tôi chỉ có một lớp hoạt động (MainActivity.java
). Tuy nhiên Khi tôi làm điều này tôi nhận được một ngoại lệ Không thể tạm dừng Hoạt động.
Làm cách nào để gửi tin nhắn từ Lớp SmsReceiver.Tôi đã viết mã sau đây: Intent i = new Intent ("SMS_RECIEVED"); i.putExtra ("updatedString", str); LocalBroadcastManager mgr = LocalBroadcastManager.getInstance (ngữ cảnh); mgr.sendBroadcast (i); – user1692342
theo cách nào bạn muốn sử dụng? 1 hoặc 2 hoặc 3? – MHP
Tôi đang thử phương pháp 1 – user1692342