package com.example.administrator.mytestapp.BroadcastDemo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.example.administrator.mytestapp.R;
public class BroadcastActivity extends AppCompatActivity {
private Button showdateBtn,showtimeBtn;
// private static final String ACTION="android.intent.action.EDIT";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_broadcast);
showdateBtn= (Button) findViewById(R.id.BtnShowDate);
showtimeBtn= (Button) findViewById(R.id.BtnShowTime);
showdateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1=new Intent("android.intent.action.EDIT");
intent1.putExtra("content","Date");
sendBroadcast(intent1);
//Toast.makeText(BroadcastActivity.this, "获取日期的广播发出去了", Toast.LENGTH_SHORT).show();
}
});
showtimeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent2=new Intent("android.intent.action.EDIT");
intent2.putExtra("content","Time");
sendBroadcast(intent2);
Toast.makeText(BroadcastActivity.this, "获取时间的广播发出去了", Toast.LENGTH_SHORT).show();
}
});
}
}
package com.example.administrator.mytestapp.BroadcastDemo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
import java.util.Calendar;
public class ShowBroadReceiver extends BroadcastReceiver {
public ShowBroadReceiver() {
Log.e( "TAG","Receiver被实例化" );
}
@Override
public void onReceive(Context context, Intent intent) {
// Log.e("content","11111111111");
String data=intent.getExtras().getString("content");
Log.e("content",data);
Calendar mc=Calendar.getInstance();
if (data.equals("Date"))
{
int year=mc.get(Calendar.YEAR);
int month=mc.get(Calendar.MONTH);
int day=mc.get(Calendar.DAY_OF_MONTH);
Log.e("TAG","-----------------------获取日期");
Toast.makeText(context, year+"年"+month+"月"+day+"日", Toast.LENGTH_LONG).show();
}else if (data.equals("Time"))
{
int hour=mc.get(Calendar.HOUR_OF_DAY);
int minute=mc.get(Calendar.MINUTE);
int second=mc.get(Calendar.SECOND);
Log.e("TAG","-----------------------获取时间");
Toast.makeText(context, hour+"时"+minute+"分"+second+"秒", Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(context, "广播错误", Toast.LENGTH_SHORT).show();
}
}
}
<activity android:name=".BroadcastDemo.BroadcastActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".BroadcastDemo.ShowBroadReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.EDIT"></action>
</intent-filter>
</receiver>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context="com.example.administrator.mytestapp.BroadcastDemo.BroadcastActivity">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/BtnShowDate"
android:text="显示日期"/>
<Button
android:layout_below="@+id/BtnShowDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/BtnShowTime"
android:text="显示时间"/>
</RelativeLayout>