2

アラームが解除されたときにBroadcastReceiverが呼び出されない理由は何ですか?アラームを明示的なインテントで起動させても、正常に動作し、アクティビティが開きます。私がBroadCastReceiverを開く予定を設定しても何も起こらないので、受信機クラスやマニフェストに何か問題があるかもしれないと思います。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); 

ここに私の放送受信機です:

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

関連する問題