My AndroidManifest.xml file:
Expand|Select|Wrap|Line Numbers
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.mybroadcastapplication">
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/Theme.MyBroadcastApplication">
- <activity
- android:name=".MainActivity"
- android:exported="true">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <receiver
- android:name=".MyBroadcastReceiver"
- android:enabled="true"
- android:exported="false">
- </receiver>
- </application>
- </manifest>
Expand|Select|Wrap|Line Numbers
- public class MainActivity extends AppCompatActivity implements View.OnClickListener {
- MyBroadcastReceiver myReceiver;
- IntentFilter intentFilter;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- myReceiver = new MyBroadcastReceiver();
- intentFilter = new IntentFilter();
- intentFilter.addAction("com.example.mybroadcastapplication.EXPLICIT_INTENT");
- findViewById(R.id.button1).setOnClickListener(this);
- }
- public void broadcastIntent() {
- Intent intent = new Intent();
- intent.setAction("com.example.mybroadcastapplication.EXPLICIT_INTENT");
- getApplicationContext().sendBroadcast(intent);
- }
- @Override
- protected void onPostResume() {
- super.onPostResume();
- registerReceiver(myReceiver, intentFilter);
- }
- @Override
- protected void onStop() {
- super.onStop();
- unregisterReceiver(myReceiver);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.button1:
- broadcastIntent();
- break;
- default:
- }
- }
- }
Expand|Select|Wrap|Line Numbers
- public class MyBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent.getAction() != null && intent.getAction().equals("com.example.mybroadcastapplication.EXPLICIT_INTENT"))
- Toast.makeText(context, "Explicit intent received.", Toast.LENGTH_LONG).show();
- }
- }