Broadcastreceiver 未启动 activity

Broadcastreceiver does not start activity

我的应用程序基本上检测到屏幕解锁并弹出祝酒词。它在敬酒时工作正常但是当我实施一个 Intent 并调用另一个 activity 它崩溃了..

package com.androidexample.screenonoff;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


public class AEScreenOnOffService extends Service  {
    BroadcastReceiver mReceiver=null;

        @Override
        public void onCreate() {
            super.onCreate();

            // Toast.makeText(getBaseContext(), "Service on create", Toast.LENGTH_SHORT).show();

            // Register receiver that handles screen on and screen off logic
            IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
            filter.addAction(Intent.ACTION_SCREEN_OFF);
            mReceiver = new AEScreenOnOffReceiver();
            registerReceiver(mReceiver, filter);

        }

        @Override
        public void onStart(Intent intent, int startId) { 

            boolean screenOn = false;

            try{
                // Get ON/OFF values sent from receiver ( AEScreenOnOffReceiver.java ) 
                screenOn = intent.getBooleanExtra("screen_state", false);

            }catch(Exception e){}

             //  Toast.makeText(getBaseContext(), "Service on start :"+screenOn, 
                    //Toast.LENGTH_SHORT).show();

            if (!screenOn) {

                // your code here
                // Some time required to start any service
                Toast.makeText(getBaseContext(), "Begin ", Toast.LENGTH_LONG).show();

我在这里添加一个意图来启动 activity。

Intent intent = new Intent(AEScreenOnOffService.this,postlockscreen.class);
            startActivity(intent);

            } else {

                // your code here
                // Some time required to stop any service to save battery consumption
                //Toast.makeText(getBaseContext(), "Screen off,", Toast.LENGTH_LONG).show();
            }
        }

        @Override
        public IBinder onBind(Intent intent) {
            // TODO Auto-generated method stub
            return null;
        }
}

我已经检查了 xml 的新 activity class 一切似乎都很好,但似乎没有任何效果。

试试这个

  Intent yourintent = new Intent(this, MyActivity.class);
            yourintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(yourintent);

希望对您有所帮助