【问题标题】:Trying to start an activity from broadcast receiver尝试从广播接收器开始活动
【发布时间】:2016-08-07 14:36:33
【问题描述】:

我正在尝试创建一个锁屏。当我尝试从广播接收器启动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);
        }
}

【问题讨论】:

    标签: java android android-intent broadcastreceiver


    【解决方案1】:

    使用此代码。希望对你有帮助。

    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);
    

    【讨论】:

    • 谢谢,@karimkhan Intent.FLAG_ACTIVITY_CLEAR_TOP 适合我。
    【解决方案2】:

    你为什么不开始这样的简单意图..

    startActivity(new Intent(this, LockScreenActivity.class));
    finish();
    

    或者你可以试试这个..

    Intent i = new Intent(context,LockScreenActivity.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    

    【讨论】:

    • 谢谢,最后一个成功了。我认为第一个在广播接收器中不起作用。
    • 如果我们提供活动的上下文,它将起作用。顺便说一句,您的问题解决了吗?
    • 是的,我的问题解决了。问题甚至不在我共享的代码中,而是在 LockScreenActivity 类中......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多