0

我该如何运行一段代码让我们说每1次?Pending Intetn并设置闹钟重复

这里是我的代码剪断:
MainActivity:

private Context ctx; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      Button btn = (Button)findViewById(R.id.button1); 
      ctx = this; 
      btn.setOnClickListener(new OnClickListener(){ 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 
         AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
         Calendar cal = Calendar.getInstance(); 
         int inter = 1000; 
         Intent i = new Intent(ctx, Brodcast.class); 
         PendingIntent pi = PendingIntent.getBroadcast(ctx, 0, i, 0); 
         am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), inter, pi); 
       } 

      }); 
     } 

Brodcast类:

public class Brodcast extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     // TODO Auto-generated method stub 
     Toast.makeText(arg0, "This wil appear every one seconde", Toast.LENGTH_LONG).show(); 
     Log.e("this will apear every one seconde" , "this will apear every one seconde"); 
    } 

} 

但无论日志或吐司都说明了为什么???请帮忙。

+0

你有你的广播在AndroidManifest.xml中定义了吗? –

+0

是你需要有意图过滤器设置为广播或使用Context.registerReceiver()注册代码使用Context.registerReceiver() –

+0

哦,我忘了谢谢你,如果你想写作答案,我会接受它 –

回答

1

请确保您已在清单文件中定义了您的广播接收器,或者使用注释中建议的代码注册它。