Saya mencoba menerapkan BroadCastReceiver sederhana dengan tindakan khusus yang memunculkan metode onReceive()
pada penerima tetapi tidak berfungsi karena beberapa alasan misterius!!
Aktivitas utama hanya memiliki tombol yang menyiarkan maksud ketika diklik. Saya tidak yakin apakah ada masalah dengan penamaan tindakan tersebut. Bantuan apa pun akan dihargai.
Aktifitas utama :
package com.example.tsupt.bcr;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void broadcastIntent(View view){
Intent intent = new Intent();
intent.setAction("com.example.tsupt.bcr.CUSTOM_INTENT");
sendBroadcast(intent);
}
}
Penerima siaran:
public class BR extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"It worked",Toast.LENGTH_LONG).show();
System.out.println("It worked");
}}
Manifesnya:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tsupt.bcr">
<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/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<receiver android:name="com.example.tsupt.bcr.BR">
<intent-filter>
<action android:name="com.example.tsupt.bcr.CUSTOM_INTENT">
</action>
</intent-filter>
</receiver>
</activity>
</application>
</manifest>
Tombol dari file tata letak:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:onClick="broadcastIntent"
tools:layout_constraintTop_creator="1"
tools:layout_constraintRight_creator="1"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="180dp"
app:layout_constraintTop_toBottomOf="@+id/textView"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent" />