私は、BroadcastReceiver
を拡張し、すべての新しいSMSを取得するクラスを持っています。Android:ContentResolverをバックグラウンドで使用する方法
新しいSMSが届くと、このメッセージの電話番号が電話帳に登録されているかどうかを確認するために電話帳を検索したい場合は、その電話番号を別の電話に送信します。
私はContentResolver
を使用して電話番号を確認しますが、それを使用するにはアクティビティ内で使用するか、アクティビティへのポインタが必要ですが、SMSリスナーはバックグラウンドで動作します。
アクティビティなしで電話帳を検索したり、新しいSMSを受信したときに取得するコンテキストやインテントから有効なアクティビティを取得する方法はありますか?
私はそのような何かを使用してみました:
Activity act = new Activity();
DBManager dbm = new DBManager(act);
ArrayList<MyContact> res = dbm.phoneSearch(sms_ar[1]);
SmsSender sms = new SmsSender(act);
if(res.size() > 0){
String answer = res.get(0).getName()+CSStatic.SMS_SEPARATOR+res.get(0).getPhone();
for(int z = 1; z < res.size(); z++){
answer = answer+CSStatic.SMS_SEPARATOR+res.get(z).getName()+CSStatic.SMS_SEPARATOR+res.get(z).getPhone();
}
Log.d("sms", "Answer: "+answer);
sms.smsAnswer(answer, sms_ar[2]);
} else {
String phone = dbm.getPhoneToQuery(sms_txt);
sms.smsQueryNext(sms_txt, phone);
}
act.finish();
を、それは動作しません:P DBManagerので は、私が電話を検索し、SmsSenderに私は新しいSMSを送信。
Thx、それは私の多くの助け:) – JavaEverywhere