-3

Get Ausnahme geschlossen ist:App stürzt ab, wenn Alarm ausgelöst wird, wenn app

Verursacht durch: android.database.sqlite.SQLiteException: keine solche Tabelle: TABLE_USER_RITUALS (Code 1):, beim Kompilieren: Select * from TABLE_USER_RITUALS wo USER_NAME = ‚vxfbb‘ und RITUAL_NAME = ‚Morgen Routine‘

Aber die Datenbank existiert, wie der Code funktioniert gut, wenn die App im Hintergrund geöffnet ist, es abgestürzt bekam, als App aus dem Hintergrund entfernt wird

Sendungs-Empfänger-Klasse:

public class AlarmReceiver extends BroadcastReceiver 
{ 

    String h_id, habit, habit_desc, habit_time; 
    //public static Ringtone ringtone; 

    @Override 
    public void onReceive(Context mContext, Intent arg1) 
    { 
     String selectedRitual = arg1.getExtras().getString(AppsConstant.SELECTED_RITUAL); 
     String userName = arg1.getExtras().getString(AppsConstant.user_name); 

     // Enable {@code SampleBootReceiver} to automatically restart the alarm when the 
     // device is rebooted. 
     ComponentName receiver = new ComponentName(mContext, SampleBootReceiver.class); 
     PackageManager pm = mContext.getPackageManager(); 

     pm.setComponentEnabledSetting(receiver, 
       PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP); 

     //get data from database   
     GetData getData = new GetData(); 
     UserRitualModel userReminderSetting = getData.getRitualsDetails(userName, selectedRitual); 
     int isfullScreen = userReminderSetting.getNotificationStyle(); 
     int ringInSilent = userReminderSetting.getRingInSilent(); 

     if(ringInSilent ==TableAttributes.ON) 
     { 
      final AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); 
      int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM); 

      audioManager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolume,AudioManager.FLAG_ALLOW_RINGER_MODES); 
     } 


     Intent i; 
     if(isfullScreen==TableAttributes.ON) 
     { 
       i = new Intent(mContext, ReminderFullScreen.class); 
     } 
     else 
     { 
      i = new Intent(mContext, Reminder.class); 
     } 
     // i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     i.putExtra(AppsConstant.SELECTED_RITUAL, selectedRitual); 
     i.putExtra(AppsConstant.user_name, userName); 

     mContext.getApplicationContext().startActivity(i); 

    } 
} 
+0

sind Sie sicher, dass Sie nicht auf die Datenbank zerstören Ihrer Aktivität löschen –

+0

Die Ausnahmemeldung ziemlich explizit ist, wird eine Tabelle –

+0

fehlt, wenn Sie Änderungen in der Datenbank vorgenommen haben, dann entfernen Anwendung sonst klar Fang oder Daten, dann kann es funktionieren, wenn alles in Ordnung ist –

Antwort