0
我有一個BroadcastReceiver,它在電話狀態發生變化時通知,當時我不想從CallLog.Calls
(這個駐留在我的非活動類)中獲取數據並將其保存到我的SQLite數據庫。但現在我面對調用課程時出現問題。
由於我是Android新手,任何幫助或想法將不勝感激。是否可以從BroadcastReceiver調用非活動類,如果是,我們可以做什麼?
在此先感謝
我有一個BroadcastReceiver,它在電話狀態發生變化時通知,當時我不想從CallLog.Calls
(這個駐留在我的非活動類)中獲取數據並將其保存到我的SQLite數據庫。但現在我面對調用課程時出現問題。
由於我是Android新手,任何幫助或想法將不勝感激。是否可以從BroadcastReceiver調用非活動類,如果是,我們可以做什麼?
在此先感謝
你可以開始從你的廣播接收器的IntentService並從那裏做任何你想要的。
public class UpdateReceiver extends BroadcastReceiver {
private static Context mContext;
@Override
public void onReceive(Context context, Intent intent) {
mContext = context;
context.startService(new Intent(context, UpdateService.class));
}
public static class UpdateService extends IntentService {
public UpdateService() {
super("UpdateService");
}
@Override
protected void onHandleIntent(Intent intent) {
// Do whatever you want from here
Logic.doSomething(mContext);
}
}
}
將服務添加到清單。
<service android:name="com.example.UpdateReceiver$UpdateService" />
你的代碼提供了以下錯誤 WARN/ActivityManager(65):無法啓動服務意向{CMP = com。示例/ .UpdateReceiver $ UpdateService}:找不到 – Adhi 2011-06-11 13:46:47
您需要的服務添加到您的清單。我已經更新了我的答案。 – rochdev 2011-06-11 15:21:34