0
我试图在特定时间发送通知,我在网上搜索一些解决方案,但代码不起作用。我的接收器没有收到报警管理器
我使用BroadcastReceiver的用户报警管理器,但BroadcastReceiver永远不会收到我的报警。为什么?
的Manifest.xml:
<receiver android:name=".AlarmReceiver"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
MainActivity.class:
...
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, i, 0);
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, hour); // hour is an int selected from user
c.set(Calendar.MINUTE, minute); // minute is an int selected from user
am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);
我的收款人:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("ALARM RECEIVER", "Alarm received");
// do stuff...
}
}
--edit - 添加完整清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany.daniel.diabetegestazionale">
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SignInActivity"
android:label="@string/title_activity_signin"
android:parentActivityName=".LoginActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.LoginActivity" />
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".InformationActivity"
android:label="@string/title_activity_information"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".AcquiringDataActivity"
android:label="@string/title_activity_acquiringData"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".GraphActivity"
android:label="@string/title_activity_graph"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".NoteActivity"
android:label="@string/title_activity_note"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".MealActivity"
android:label="@string/title_activity_meal"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".PhoneNumbersActivity"
android:label="@string/title_activity_phoneNumbers"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MainActivity" />
</activity>
<activity
android:name=".InfoDetailActivity"
android:label="@string/title_activity_information"
android:parentActivityName=".InformationActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.InformationActivity" />
</activity>
<activity
android:name=".RecoveryActivity"
android:label="@string/title_activity_recoveryPassword"
android:parentActivityName=".LoginActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.LoginActivity" />
</activity>
<activity
android:name=".QuestionAnswerActivity"
android:label="@string/title_activity_recoveryPassword"
android:parentActivityName=".RecoveryActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.RecoveryActivity" />
</activity>
<activity
android:name=".RecoveryActivitySetPassword"
android:label="@string/title_activity_recoveryPassword"
android:parentActivityName=".QuestionAnswerActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.QuestionAnswerActivity" />
</activity>
<activity
android:name=".NoteDetailedActivity"
android:label="@string/title_activity_note"
android:parentActivityName=".NoteActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.NoteActivity" />
</activity>
<activity
android:name=".WriteNoteActivity"
android:label="@string/title_activity_note"
android:parentActivityName=".NoteActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.NoteActivity" />
</activity>
<activity
android:name=".DetailedPhoneNumbersActivity"
android:label="@string/title_activity_phoneNumbers"
android:parentActivityName=".PhoneNumbersActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.PhoneNumbersActivity" />
</activity>
<activity
android:name=".ModifyPhoneContactActivity"
android:label="@string/title_activity_phoneNumbers"
android:parentActivityName=".DetailedPhoneNumbersActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.DetailedPhoneNumbersActivity" />
</activity>
<activity
android:name=".CreateNewContactActivity"
android:label="@string/title_activity_create_contact"
android:parentActivityName=".PhoneNumbersActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.PhoneNumbersActivity" />
</activity>
<activity
android:name=".AllInsertionsActivity"
android:label="@string/title_activity_all_insertions"
android:parentActivityName=".GraphActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.GraphActivity" />
</activity>
<activity android:name=".SearchFoodActivity"
android:label="@string/title_activity_search_food"
android:parentActivityName=".MealActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mycompany.daniel.diabetegestazionale.MealActivity" />
</activity>
</application>
<service
android:name=".AlarmService"
android:enabled="true" />
<receiver android:name=".AlarmReceiver"/>
</manifest>
发表您的整个的Manifest.xml –
你放置在应用程序标签的接收器? – Blackkara
将接收器放在应用程序标签中。 – Blackkara