Tôi có bộ thu phát sóng trong ứng dụng được kích hoạt mỗi lần người dùng nhận cuộc gọi đến. Bây giờ, khi nó xảy ra, tôi cần bộ thu phát để gọi một phương thức cụ thể trong một hoạt động cụ thể. Bây giờ, tôi đã cố gắng để làm cho phương pháp này tĩnh và do đó có sẵn, nhưng một cái gì đó cho tôi biết đó là một ý tưởng rất xấu. Theo đó, tôi đã cố gắng khởi tạo bộ thu phát bên trong hoạt động của mình mà không khai báo nó trong tệp kê khai của tôi nhưng vấn đề là - khi ứng dụng tắt, hoạt động không tồn tại và do đó tôi không thể gọi phương thức của mình.Giao tiếp giữa BroadcastReceiver và Hoạt động - android
Vì vậy, câu hỏi của tôi là - Làm thế nào tôi có thể gọi phương thức này khi bộ thu phát được kích hoạt mà không làm cho nó "tĩnh công cộng"?
Đây là mã hoạt động của tôi (Tôi đã xóa những phần không liên quan)
package com.silverfix.ringo.activities;
import com.silverfix.ringo.R;
import com.silverfix.ringo.activities.fragments.DataManagerFragment;
import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
public class RingtonesActivity extends Activity{
private DataManagerFragment dataManagerFragment;
private IntentFilter filter;
private BroadcastReceiver phoneCall;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ringtones);
ActionBar ab = getActionBar();
ab.setDisplayShowTitleEnabled(false);
ab.setDisplayHomeAsUpEnabled(true);
dataManagerFragment = new DataManagerFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(dataManagerFragment, "DataManagerFragment");
ft.commit();
filter = new IntentFilter();
filter.addAction("android.intent.action.PHONE_STATE");
phoneCall = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
dataManagerFragment.act();
}
};
registerReceiver(phoneCall, filter);
}
}
khi u nhận được gọi Application của bạn là quay sang background.so gì u sẽ làm gì với hoạt động (khi ứng dụng ur là ở chế độ nền) ?? – KomalG
phương thức đó có nhất thiết phải nằm trong lớp 'Activity' không? – mangusta
Phương pháp đó sẽ làm gì? – Chandrakanth