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>