在我的应用程序中,我需要获取每个单独调用(传入/传出/错误调用)以及消息的信息。因为它在安装应用程序时使用了内容观察者和注册观察者。但是不知道为什么在注册观察者运行并且仅向我提供一次数据然后观察者不运行之后,可能是它未被注册。我的问题是如何在我的应用程序安装时永久注册观察者也是观察者未注册的原因??
这是我的注册代码
public static void registerObserver(Context ctx)
{
resolver = ctx.getContentResolver();
handler=new SMSHandler();
call_observer=new CallObserver(handler, ctx);
resolver.registerContentObserver(CallLog.Calls.CONTENT_URI,true,call_observer);
}
这是呼叫日志观察者:
public class CallObserver extends ContentObserver {
private Context context;
String contact_id = "", email = "", address = "", name = "";
public static Date date;
public static SimpleDateFormat sdf;
public CallObserver(Handler handler, Context context) {
super(handler);
this.context = context;
}
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
Thread thread = new Thread() {
public void run() {
Do_Some_Thing();
}
};
thread.start();
super.onChange(selfChange);
}
private void Do_Some_Thing() {
Log.e("observer running","observer running");
}
}
}