1

好的,首先,我在这里坐了 4 个小时试图解决这个问题,但无济于事。

我正在使用 PendingIntent 执行广播,但 PendingIntent 不会触发。

这是我清单中的接收者声明: <receiver android:process=":remote" android:name=".AlarmReceiver"/>

AlarmReceiver.java

@Override
public void onReceive(Context context, Intent intent) {
    Log.i(MainActivity.TAG, "FIRED!");
}

AlarmService.java

@Override
public void onCreate() {
    Log.i(MainActivity.TAG, "Service starting!");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, AlarmReceiver.class), 0);
    try {
        pendingIntent.send();
    } catch (PendingIntent.CanceledException e) {
        Log.e(MainActivity.TAG, "FAIL!", e);
    }
}

在我的 logcat 中,我得到Service starting!但我没有得到FIRED!or FAIL!。代码看起来很简单,但它就是行不通!这段代码有什么不工作的原因吗?

PS 删除android:process使其工作,但我要求广播在单独的进程中运行。

4

0 回答 0