Articles of android broadcast

Android – 如何触发广播接收器调用其onReceive()方法?

我为我的申请安排了警报。 我已经实现了一旦闹钟时间到达就会触发广播接收器。 如何手动调用广播接收器来执行onReceive方法内部的代码,而无需复制代码两次。 我想在实用程序单例调用中使用代码,并通过从任何地方使用util类实例来调用该方法。 但是,是否有任何其他方式直接调用onReceive方法或广告意图有问题。 android:exported =“false”//在清单文件中定义时接收者的附加参数。 另一个问题是导出的参数意味着什么。 请帮我理解这个。

你可以使用localbroadcasts的待定意图吗?

我有兴趣使用本地广播的待定意图。 为了清楚起见,我使用以下命令注册接收器并发送广播: android.support.v4.content.LocalBroadcastManager 。 我有一个本地广播接收器在一个有效的服务中。 我正在尝试从包含可点击项目的自定义通知布局发送本地广播。 本地广播接收器 – 只接收简单的动作意图。 我尝试这样的事情无济于事: Intent backintent = new Intent(“GOTO_START_BROADCAST”); PendingIntent backIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, backintent, 0); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); contentView.setOnClickPendingIntent(R.id.imageView1, backIntent);

BroadcastReceiver for WALLPAPER_CHANGED多次调用onReceive():Android

我有一个BroadcastReceiver并声明它是这样的: 接收者是: @Override public void onReceive(final Context context, final Intent intent) { change_wallpepar.myPrefs = context.getSharedPreferences(“myPrefs”, Context.MODE_PRIVATE); new Handler().postDelayed(new Runnable() { @Override public void run() { Log.d(“MAYUR”, “<>”); if (change_wallpepar.myPrefs.getLong(“temp_for_change”, 1) == 0) { context.stopService(new Intent(context, change_wallpepar.class)); } else { SharedPreferences.Editor e = change_wallpepar.myPrefs.edit(); e.putLong(“temp_for_change”, 0); e.commit(); } } }, 4000); } 当我在这里更改壁纸时,它应该被调用一次。 它实际上是按照我的期望工作了一段时间,在几分钟之后它会调用onreceive()多次(10-18)次,即使壁纸的更改已完成一次。 更奇怪的是,它在三星Galaxy平板电脑版本4.4.2上运行良好,但不适用于摩托罗拉(Moto E […]

Android广播接收器蓝牙事件捕捉

我正试图用广播接收器捕捉蓝牙状态变化。 我的清单: Receiver onReceive方法: public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d(“BroadcastActions”, “Action “+action+”received”); int state; BluetoothDevice bluetoothDevice; switch(action) { case BluetoothAdapter.ACTION_STATE_CHANGED: state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1); if (state == BluetoothAdapter.STATE_OFF) { Toast.makeText(context, “Bluetooth is off”, Toast.LENGTH_SHORT).show(); Log.d(“BroadcastActions”, “Bluetooth is off”); } else if (state == BluetoothAdapter.STATE_TURNING_OFF) { Toast.makeText(context, “Bluetooth is turning […]

与活动通信的最佳方式(广播,回调等)

我拥有的: 我有一个使用aidl在进程上运行的库。 我有一个使用此库的应用程序,在消息传递活动中,我连接服务以发送消息,我有一个广播接收器来管理传入的消息。 问题? 如果这个库将由同一设备上的两个应用程序使用,则广播操作将是相同的,并且当我发送广播时我将遇到问题。 我有什么疑问? 什么是“收听”我在我的库中收到的新传入消息并将其发送到应用程序的最佳方式。 也许回调? 还是有更好的解决方案? 更多信息 该库提供了一些启动会话的方法,以及用于发送不同types的消息(图像,文本,位置等等)的其他方法,并且我从另一个库中接收回调,该库使用C和C ++,当一个新的消息传入。 如果您需要更多信息,请随时提出。 我的代码: IRemote.aidl interface IRemote { int sendTextMessage(String to, String message); } WrapperLibrary.java public class MyLibrary extends Service { // Current context, used to sendbroadcast() from @Callbacks private Context mContext = this; private static MyLibrary instance = new MyLibrary(); //Executor to start a […]

在Android上收听自己的应用程序卸载事件

据我所知,应用程序无法为自己的卸载获取意图: ACTION_PACKAGE_FULLY_REMOVED ACTION_PACKAGE_REMOVED 但是Dolphin Browser如何设法接收“已删除”事件并启动浏览器,如附图所示 ? ADB: 10-20 12:37:00.997: D/BackupManagerService(527): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:mobi.mgeek.TunnyBrowser flg=0x8000010 (has extras) } 10-20 12:37:00.997: V/BackupManagerService(527): removePackageParticipantsLocked: uid=10112 #1 10-20 12:37:01.007: D/dalvikvm(527): GC_EXPLICIT freed 2247K, 12% free 20128K/22868K, paused 3ms+10ms, total 212ms 10-20 12:37:01.107: D/dalvikvm(527): GC_FOR_ALLOC freed 1508K, 15% free 19649K/22868K, paused 60ms, total 60ms 10-20 12:37:01.137: D/AndroidRuntime(4028): […]

Android服务:START_STICKY不适用于Kitkat

我在应用程序中使用服务来监听用户按下他/她的电源按钮的次数。 实施在所有设备上都运行良好。 但是当我在Android Kitkat上测试应用程序时,我注意到了一些错误。 只要我将应用程序从最近的应用程序中移开,应用程序就不再会监听电源按钮。 这是我正在使用的代码: public class Receiver extends Service { Notification notification; private static final int NOTIFICATION_ID = 0; NotificationManager manager; PendingIntent toOpen; Intent intent; private BroadcastReceiver POWER_BUTTON = new Powerbuttonrecceiver(); @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public int onStartCommand(Intent intent, int flags, int […]

如何在onStop()中检查屏幕开/关状态?

如此处所述,当屏幕熄灭时,将onStop()当前Activity的onStop() 。 我需要在onStop()我的Activity的onStop()时检查屏幕的开/关状态。 所以我为这些操作注册了一个BroadcastReceiver ( ACTION_SCREEN_ON和ACTION_SCREEN_OFF )以记录当前的开/关状态(它们正常工作,我已经记录了!)。 但当我关闭屏幕并检查onStop的开/关状态时,它表示屏幕已打开。 为什么? 我认为接收器必须在onStop之前收到ACTION_SCREEN_OFF所以这有什么问题?

收听传入的Whatsapp消息/通知

我正在开发一个基于通知的应用程序,我需要收听传入的通知。 我已经能够收听来电,短信,邮件等。我不知道如何通过代码在Whatsapp上听朋友的ping或消息。 这真的可以吗? 如果是这样,怎么样? 可以使用Accessibility Service ,使用Package Name作为“com.whatsapp”吗?

通知中的音乐播放器控制

如何在android中设置播放/暂停,下一个和上一个按钮的通知。 我是Android的新手,也是堆栈溢出的新手。 所以请耐心等待。 我开始播放歌曲时设置通知,如下所示: ` @SuppressLint(“NewApi”) public void setNotification(String songName){ String ns = Context.NOTIFICATION_SERVICE; NotificationManager notificationManager = (NotificationManager) getSystemService(ns); @SuppressWarnings(“deprecation”) Notification notification = new Notification(R.drawable.god_img, null, System.currentTimeMillis()); RemoteViews notificationView = new RemoteViews(getPackageName(), R.layout.notification_mediacontroller); //the intent that is started when the notification is clicked (works) Intent notificationIntent = new Intent(this, AudioBookListActivity.class); PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this, 0, […]