My broadcast receiver worked but only when my application is running... When I close the program, the broadcast receiver will not work anymore.
My codes:
GetClipboard.java
public class GetClipboard extends BroadcastReceiver{
@Override
public void onReceive(final Context context, Intent intent) {
Bundle bundle=intent.getExtras();
if (bundle!=null) {
try {
final ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
assert clipboardManager != null;
clipboardManager
.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
ClipData clipData = clipboardManager.getPrimaryClip();
final String data = clipData.getItemAt(0).getText().toString();
Toast.makeText(context,data, Toast.LENGTH_LONG).show();
}
});
} catch (Exception e) {
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
}
}
}
}
AndroidManifest.xml
<receiver android:name=".GetClipboard">
<intent-filter>
<action android:name="android.content.Context.CLIPBOARD_SERVICE" />
</intent-filter>
</receiver>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
build.gradle
compileSdkVersion 27
minSdkVersion 19
targetSdkVersion 27