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);
}
}
sind Sie sicher, dass Sie nicht auf die Datenbank zerstören Ihrer Aktivität löschen –
Die Ausnahmemeldung ziemlich explizit ist, wird eine Tabelle –
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 –