[英]Trying to start an activity from broadcast receiver
我正在嘗試創建一個鎖屏。 當我嘗試從broadcastReceiver啟動com.fira.locker.LockScreenActivity
,我只是得到一個錯誤。 錯誤說:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.setFlags(int)' on a null object reference
這是我的代碼:
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);
}
}
使用此代碼。 希望它對你有所幫助。
Intent i= new Intent(context.getApplicationContext(), LockScreenActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
為什么你沒有像這樣開始簡單的意圖..
startActivity(new Intent(this, LockScreenActivity.class));
finish();
或者你可以嘗試這個..
Intent i = new Intent(context,LockScreenActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.