2

알람이 울릴 때 BroadcastReceiver가 호출되지 않는 이유는 무엇입니까? 알람을 통해 명시적인 의도를 시작하면 정상적으로 작동하고 내 활동이 열립니다. BroadCastReceiver를 열 계획을 세우면 수신자 클래스 나 Manifest에 문제가있을 수 있습니다.Alarm (Manager)에서 BroadcastReceiver를 호출하지 않음

Intent intent = new Intent(this, AlarmBroadcastReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, 324, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
mAlarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
mAlarmManager.set`enter code here`InexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 

여기 내 방송 수신기의 : I 설정은 알람이 방법은 다음 여기

public class AlarmBroadcastReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.e("MJH", "Alarm called..."); 
     Toast.makeText(context, "Alarm...", Toast.LENGTH_LONG).show(); 
    } 
} 

그리고 나의 매니페스트입니다 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest package="mjh.com.apod" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- Required to act as a custom watch face. --> 
<uses-permission android:name="android.permission.WAKE_LOCK"/> 
<uses-permission android:name="android.permission.SET_WALLPAPER"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

<application 
    android:name="android.support.multidex.MultiDexApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <receiver 
     android:name=".AlarmBroadcastReceiver" 
     android:enabled="true" 
     android:exported="true" 
     android:process=":remote"> 
    </receiver> 
</application> 
가 그렇게 대단히 감사합니다 당신의 시각.

답변

2

PendingIntent.getActivity( 대신 PendingIntent.getBroadcast(을 사용해야한다고 생각합니다.

+0

예. 그것은 트릭을했다. 고맙습니다! – MarkInTheDark

+0

이전에 아주 비슷한 문제를 디버깅 한 것을 기억합니다. 그 후로 계속됩니다. >.> – EpicPandaForce

0

나는 PendingIntent를 만들기 위해 getActivity 대신 getBroadcast를 호출해야했다. 그것은 그것을 고쳤다.

+0

잘못된 의견이 여기에있었습니다. – MarkInTheDark

관련 문제