【问题标题】:pending itent doesn't trigger receiver "onReceive"挂起的item不会触发接收器“onReceive”
【发布时间】:2015-01-31 21:40:52
【问题描述】:

我在调试时执行了以下代码:

private void initPendingIntent() {
/* Retrieve a PendingIntent that will perform a broadcast */
    Intent alarmIntent = new Intent(getActivity(), AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(getActivity(), 0, alarmIntent, 0);
}

private PendingIntent pendingIntent;


private void initViews(LayoutInflater inflater, ViewGroup container) {
    rootView = inflater.inflate(R.layout.fragment_settings, container, false);

    rootView.findViewById(R.id.startAlarm).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            start();
        }
    });


public void start() {
    AlarmManager manager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
    int interval = 2000;

    manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
    Toast.makeText(getActivity(), "Alarm Set", Toast.LENGTH_SHORT).show();
}

但执行并没有在我放在这里的断点处停止:

public class AlarmReceiver extends RoboBroadcastReceiver {

    @Override
    public void handleReceive(Context context, Intent intent) {

        // For our recurring task, we'll just display a message
        Toast.makeText(context, "I'm running", Toast.LENGTH_SHORT).show();
    }
}

还有我的清单:

<receiver android:name=".boradcasts.AlarmReceiver"
          android:enabled="false">
</receiver>

【问题讨论】:

    标签: android android-intent broadcastreceiver android-manifest android-pendingintent


    【解决方案1】:
    <receiver android:name=".boradcasts.AlarmReceiver"
          android:enabled="false">
    </receiver>
    

    false 更改为true =)

    【讨论】:

    • 有没有办法以编程方式启用?
    猜你喜欢
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多