Articles of android broadcast

删除图像文件后刷新图库?

我总是为我的问题find以下答案: context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 但它不工作在我的系统(Nexus4的Android 4. …) 我可以创build一个文件,并将其添加到媒体数据库whith这个代码 Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri contentUri = Uri.fromFile(file); mediaScanIntent.setData(contentUri); context.sendBroadcast(mediaScanIntent); 其中“文件”是我想要添加的新图像文件。 删除文件后,我尝试刷新画廊 Intent intent = new Intent(Intent.ACTION_MEDIA_MOUNTED); Uri contentUri = Uri.parse("file://" + Environment.getExternalStorageDirectory()); intent.setData(contentUri); context.sendBroadcast(intent); 要么 context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 但在Galery中仍然有空的占位符。 我不知道为什么?… 为了安全起见,我在AndroidManifest.xml中添加了Activity <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED" /> <data android:scheme="file" /> </intent-filter> 但结果是一样的。 任何想法来解决这个问题?

使用Greenrobot Eventbusreplace广播接收机是否可以触发基于事件的function和数据从服务到活动的传输?

我已经实现了一个服务,在这里我处理状态变化(连接,断开连接,onServiceDiscoverd,onCharacteristicChange等),并通过gatt服务器从另一个设备接收数据。 我的问题是,使用Greenrobot Eventbusreplace服务和活动之间的广播接收器可以有效地处理事件吗?

在Android KitKat中取消SMS意图

我目前正在开发一个应用程序,需要处理短信,只有当它是一个应用程序预期的SMS(与Whatsapp注册时的行为相同)。 我想中止短信意图,因为它不会出现在短信框中。 我的问题是:我知道Google改变了很多关于在KitKat中的短信行为,现在,即使我的短信很好地被我的应用程序parsing,短信也出现在SMSBox,即使我打电话this.abortBroadcast(); 在我的短信广播接收器。 那么有没有办法避免SMS短信中出现这些短信,而无需开发完整的短信应用? 有关信息,该广播接收器的清单文件中的优先级还不到1000(我也尝试过使用MAX整数)。

如何在Android的服务类中实现BroadcastReceiver?

我需要在我创build的Service类中实现BroadcastReceiver: public class MyService extends Service 在这个类中,当用户按下实现sendBroadcas()的MyActivity类中的button时,我必须通过使用Thread-Sleep实现“下载模拟”。 我不能将Service类扩展到BroadcastReceiver,因为它已经扩展到Service。 任何人都可以帮我弄清楚如何实现这个机制? 谢谢

dynamic注册vs BroadcastReceiver的静态注册

我们所有人都知道我们注册了两种types的BroadcastReceiver 1)Static Registration 2)Dynamic Registration 但我的疑问是,当我们需要使用Static ,当我们需要使用Dynamic ?

你可以使用本地广播的未决意图?

我有兴趣使用本地广播的未决意图。 为了使自己清楚,我使用以下注册接收器和发送广播: 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);

收听传入的WhatsApp消息/通知

我正在开发基于通知的应用程序,为此我需要收听传入的通知。 我已经能够听到来电,短信,邮件等。我不知道如何通过代码在WhatsApp上听朋友的ping或消息。 这实际上可以做到吗? 如果是这样,怎么样? 可以使用辅助function服务 ,使用包名称作为“com.whatsapp”? 感谢您的build议。

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

如此处所述,当屏幕熄灭时,将onStop()当前Activity的onStop() 。 当我的Activity的onStop()被调用时,我需要检查屏幕的开/关状态。 所以我已经为这些动作( ACTION_SCREEN_ON和ACTION_SCREEN_OFF )注册了一个BroadcastReceiver来logging当前的开/关状态(并且它们正常工作,我已经logging了!)。 但是当我closures屏幕并检查onStop的开/关状态时,表示屏幕已开启。 为什么? 我认为接收器必须在onStop被调用之前收到ACTION_SCREEN_OFF ,那么怎么回事?

Android服务:START_STICKY不适用于Kitkat

我在应用程序中使用服务来监听用户按下电源button的次数。 所有设备的实现工作正常。 但是当我testingAndroid Kitkat上的应用程序时,我注意到了一些错误。 只要我将应用程序从最近的应用程序中移开,应用程序就不再监听电源button。 以下是我正在使用的代码: 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 […]

通过活动(广播,callback等)传达服务的最佳方式

我拥有的: 我有一个运行在使用aidl的进程上的库。 我有一个使用这个库的应用程序,在消息传递活动中,我使用服务连接来发送消息,并且我有一个广播接收器来pipe理传入的消息。 问题? 如果这个库将被同一设备上的两个应用程序使用,那么广播操作将会是相同的,当我发送广播时,我将遇到问题。 我怀疑什么? 什么是最好的方式来“收听”我收到的新消息,并将其发送给应用程序。 也许是callback? 还是有更好的解决办法? 更多信息 该库提供了一些启动会话的方法,以及用于发送不同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 […]