Ich versuche, einen Sperrbildschirm zu erstellen. Wenn ich versuche, den com.fira.locker.LockScreenActivity
vom broadcastReceiver zu starten, erhalte ich nur einen Fehler. Der Fehler sagt:Der Versuch, eine Aktivität vom Broadcast-Empfänger aus zu starten
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.setFlags(int)' on a null object reference
Dies ist mein Code:
package com.fira.locker;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.util.Log;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* Created by Johannett321 on 10/04/16.
*/
public class LockScreenReceiver extends BroadcastReceiver {
public String screenlockedNumber;
@Override
public void onReceive(Context context, Intent intent) {
//start activity
Intent i = new Intent();
i.setClassName("com.fira.locker", "com.fira.locker.LockScreenActivity");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
Danke, die letzte funktionierte. Der erste funktioniert nicht in einem Broadcast Receiver, denke ich. –
Es wird funktionieren, wenn wir den Kontext der Aktivität angeben. BTW Ihr Problem ist gelöst? –
Ja, mein Problem ist gelöst. Das Problem war nicht einmal in dem Code, den ich teilte, es war in der LockScreenActivity-Klasse ... –