未运行应用程序时未启动活动(从broadcastReceiver调用时)>

问题描述 投票:0回答:1

我正在使用AlarmManager显示小睡屏幕/活动,并且正在使用BroadcastReceiver打开此活动。一切正常,但是当应用程序未运行时,即使它在后台运行也无法启动。这是我的BroadcastReceiver code:

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent intent1 = new Intent(context, SnoozeActivity.class);
        intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent1);
    }
}

我想在后台调用的活动

SnoozeActivity.java


public class SnoozeActivity extends AppCompatActivity {

    SwipeButton btnSwipe;
    Clock mClock;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_snooze);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        btnSwipe = findViewById(R.id.btnSwipe);
        mClock = findViewById(R.id.clock);

        Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
        final Ringtone r = RingtoneManager.getRingtone(this, notification);
        r.play();
        Toast.makeText(this, "Alarm Ringing", Toast.LENGTH_SHORT).show();

        btnSwipe.setOnStateChangeListener(new OnStateChangeListener() {
            @Override
            public void onStateChange(boolean active) {
                r.stop();
                Toast.makeText(getApplicationContext(), "Alarm Stopped", Toast.LENGTH_SHORT).show();
                finish();
            }
        });
    }
}

我正在使用AlarmManager显示小睡屏幕/活动,并且正在使用BroadcastReceiver打开此活动。一切正常,但是当应用程序未运行时,即使它在...

android broadcastreceiver
1个回答
0
投票

尝试此

© www.soinside.com 2019 - 2024. All rights reserved.