Receiver

来源:互联网 发布:显卡评测软件 编辑:程序博客网 时间:2024/04/29 15:11
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" tools:context=".MainActivity">   <Button       android:id="@+id/button_send"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="发送广播"/>    <Button        android:id="@+id/button_alarm"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="闹钟"/>    <Button        android:id="@+id/button_alarm_stop"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="停止闹钟"/></LinearLayout>

MyReceiver extends BroadcastReceiver

public class Reciever extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        Toast.makeText(context,"我收到了广播",Toast.LENGTH_SHORT).show();        Log.d("TAG", "闹钟");    }}

MainActivity

public class MainActivity extends Activity {    private Button mButtonSend;    private Reciever mReciever;    private AlarmManager mAlarmManager;    private Button mButtonAlarm;    private Button mButtonStopAlarm;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mAlarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE);        mReciever=new Reciever();        IntentFilter filter=new IntentFilter();        filter.addAction("com.lingzhuo");        registerReceiver(mReciever,filter);//注册接收ID号        mButtonSend= (Button) findViewById( R.id.button_send);        mButtonSend.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent=new Intent();                intent.setAction("com.lingzhuo");                sendBroadcast(intent);            }        });        mButtonAlarm= (Button) findViewById(R.id.button_alarm);        mButtonAlarm.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent1=new Intent();                intent1.setAction("com.lingzhuo");                PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),0x23,intent1,PendingIntent.FLAG_UPDATE_CURRENT);                mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+3000,3000,pendingIntent);                Log.d("TAG", "asdasdasdas");            }        });        mButtonStopAlarm= (Button) findViewById(R.id.button_alarm_stop);        mButtonStopAlarm.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent=new Intent();                intent.setAction("com.lingzhuo");                PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),0x23,intent,PendingIntent.FLAG_UPDATE_CURRENT);                mAlarmManager.cancel(pendingIntent);            }        });    }//注册ID以后必须要销毁不然会报错    @Override    protected void onDestroy() {        super.onDestroy();        unregisterReceiver(mReciever);    }}
0 0