Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用收音机制作闹钟_Android_Broadcastreceiver_Alarmmanager_Alarm - Fatal编程技术网

Android 用收音机制作闹钟

Android 用收音机制作闹钟,android,broadcastreceiver,alarmmanager,alarm,Android,Broadcastreceiver,Alarmmanager,Alarm,我想用android做一个闹钟,我用BroadcastReceiver写了这个,但我有一些问题。。。 我想在指定的时间开始报警,例如,我想在每3:50开始报警。。。 但当我运行应用程序时,也会出现警报 下面是我的代码: 任何人都可以帮助我: 这是我的广播接收器: public class MyBroadcastReceiver extends BroadcastReceiver { public static MediaPlayer mediaPlayer; @Override

我想用android做一个闹钟,我用BroadcastReceiver写了这个,但我有一些问题。。。 我想在指定的时间开始报警,例如,我想在每3:50开始报警。。。 但当我运行应用程序时,也会出现警报

下面是我的代码:

任何人都可以帮助我:

这是我的广播接收器:

public class MyBroadcastReceiver extends BroadcastReceiver {
    public static MediaPlayer mediaPlayer;
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("com.tester.alarmmanager")) {
            Toast.makeText(context, "Its time!!!", Toast.LENGTH_SHORT).show();
            mediaPlayer = MediaPlayer.create(context, R.raw.entezar);
            mediaPlayer.start();
        }
    }
}
在主要活动中:

   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        StartAlarm(03,50);

    }

public void StartAlarm(int hour, int min){
        Intent intent = new Intent(this, MyBroadcastReceiver.class);
        intent.setAction("com.tester.alarmmanager");
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(),23433,intent,0);
        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
        Calendar calendar = Calendar.getInstance();
        Log.v("time picker",calendar.getTime()+"");
        calendar.set(Calendar.HOUR_OF_DAY,hour);
        calendar.set(Calendar.MINUTE,min);
        calendar.set(Calendar.SECOND,00);

        if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT){
            alarmManager.setExact(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
            Toast.makeText(MainActivity.this, "Alarm>kitkat", Toast.LENGTH_SHORT).show();
        }

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT){
            alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
            Toast.makeText(MainActivity.this, "Alarm<kitkat", Toast.LENGTH_SHORT).show();
        }
    }
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
星形臂(03,50);
}
公共空星武器(整数小时,整数分钟){
Intent Intent=新Intent(这个,MyBroadcastReceiver.class);
intent.setAction(“com.tester.alarmmanager”);
PendingEvent PendingEvent=PendingEvent.getBroadcast(this.getApplicationContext(),23433,intent,0);
AlarmManager AlarmManager=(AlarmManager)getSystemService(报警服务);
日历=Calendar.getInstance();
Log.v(“时间选择器”,calendar.getTime()+);
calendar.set(calendar.HOUR\u OF_DAY,HOUR);
日历.设置(日历.分钟,分钟);
日历集(日历秒,00);
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.KITKAT){
alarmManager.setExact(alarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),PendingContent);
Toast.makeText(MainActivity.this,“Alarm>kitkat”,Toast.LENGTH_SHORT.show();
}
if(Build.VERSION.SDK_INTToast.makeText(MainActivity.this,“报警在
calendar.getInstance()之后添加


或者检查此链接下的代码

没有人知道问题???
<receiver android:name=".Utility.MyBroadcastReceiver">
            <intent-filter>
                <action android:name="com.tester.alarmmanager"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>
        calendar.setTimeInMillis(System.currentTimeMillis())