0
我正在開發一個Android應用程序。在我的應用程序中,我正在關閉應用程序時從數據庫中刪除數據。所以我打開廣播接收器onDestroy並刪除接收器內的數據。當我在Activity中調用數據庫幫助器的delete方法時,它正在工作。但是當我在接收器中調用它時,它不起作用。從Android數據庫中刪除數據不在廣播接收器中工作
這是我的接收器:
public class InspectDataReceiver extends BroadcastReceiver {
private DatabaseHelper dbHelper;
@Override
public void onReceive(final Context context, Intent intent) {
}
public void refreshData(final Context context,String type)
{
dbHelper = new DatabaseHelper(context);
dbHelper.deleteCategories();
} }
這是數據庫幫助的刪除方法:
public void deleteCategories()
{
db = getWritableDatabase();
db.delete(CATEGORY_TABLE,null,null);
db.close();
}
這就是我在我的活動的onDestroy事件刪除數據:
@Override
protected void onDestroy() {
super.onDestroy();
updateCacheData();
}
private void updateCacheData()
{
InspectDataReceiver receiver = new InspectDataReceiver();
receiver.refreshData(getBaseContext(),getResources().getString(R.string.data_receiver_type_category));
}
但是數據並沒有被刪除,它也沒有拋出錯誤。當我在活動中刪除時。刪除方法正在工作。我該如何解決它?
但是,當我打開接收器時,如何傳遞活動的上下文? –
這不會起作用。 OP實際上並沒有使用他們的'BroadcastReceiver'類作爲'BroadcastReceiver'。也就是說,他們並沒有真正向它播放。他們現在可以做一個簡單的舊類,它不會擴展任何東西。 –
@MikeM。 OPPS,只是指出,OP創建接收器的實例 – Yazan