通知管理器不使用alarmManager

时间:2015-08-09 16:06:33

标签: android

我正在尝试使用闹钟管理器在5秒后显示通知。我尝试了很多网站,但是无法理解,请举一个简单的例子来解释如何使用报警管理器和连接通知。

我是新手。

这是我用来设置闹钟的功能,我在5秒后没有得到通知,实际上根本没有在模拟器中或Android手机中。如果把代码设置为按下按钮创建通知,那就很好了。

public void setAlarm(View view)
{

Intent alertIntent = new Intent(this, AlertReciver.class);

Long alertTime = new GregorianCalendar().getTimeInMillis()+5*1000;

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP, alertTime, PendingIntent.getBroadcast(this, 1, alertIntent, PendingIntent.FLAG_UPDATE_CURRENT));

tv.setText("completed");
}

和这个让它工作的课

public class AlertReciver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
createNotification(context,"times Up", "5 SEcond has passed", "Alert");

}

public void createNotification(Context context,String msg, String msgText, String msgAlert){

PendingIntent notificIntent = PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), 0);

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
        .setSmallIcon(R.drawable.ne)
        .setContentTitle(msg)
        .setTicker(msgAlert)
        .setContentText(msgText);

mBuilder.setContentIntent(notificIntent);

mBuilder.setDefaults(NotificationCompat.DEFAULT_SOUND);

mBuilder.setAutoCancel(true);

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);

mNotificationManager.notify(1, mBuilder.build());


}

这是清单

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.deepaksingh.goinnotifying" >
<uses-permission android:name="android.permission.alarm.permission.SET_ALARM" />

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MoreInfoNotification"
        android:label="@string/title_activity_more_info_notification" >
        <meta-data
            android:name="android support.PARENT_ACTIVITY"
            android:value=".MainActivity" />

</application>

1 个答案:

答案 0 :(得分:0)

您没有为唤醒设置权限:

    <uses-permission android:name="android.permission.WAKE_LOCK" />

你没有注册你的接收者。这里。

<?xml version="1.0" encoding="utf-8"?>

         

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MoreInfoNotification"
        android:label="@string/title_activity_more_info_notification" >
    <meta-data
        android:name="android support.PARENT_ACTIVITY"
        android:value=".MainActivity" />

    <receiver android:name=".AlertReciver "/>

</application>