android广播activity
㈠ Android:开发中,在广播接收器中显示Activity为什么要设置Intent.FLAG_ACTIVITY_NEW_TASK标记
告诉activity使用自己的任务栈来维护界面,因为自己没有界面,没有任务栈创建
㈡ Android开发中怎么把广播中处理后的信息传递给Activity
1.发送广播
Intent intent = new Intent(BroadcastAction);
Bundle bundle = new Bundle();
bundle.putString("***", SUCCESS);
bundle.putString("FullPathName", mFullPathName);
intent.putExtras(bundle);
sendBroadcast(intent);
2.在Activity中创建一个内部类MyBroadcastReceiver扩展BroadcastReceiver,并在其中实现onReceive方法。
3.在Activity中声明一个MyBroadcastReceiver类型的成员变量,并注册:
private MyBroadcastReceiver myBroadcastReceiver;
...
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BroadcastAction);
registerReceiver(receiver, filter);
4.使用完后要记得释放
unregisterReceiver(receiver);
注:1和2中的 BroadcastAction要是同一个Action
㈢ activity是android四大组件之一吗
是的。Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content
Provider内容提供者,BroadcastReceiver广播接收器)之一。
Activity详解:
1、Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
2、Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
3、在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
备注:
Android开发的四大组件,本文主要分为:
1、Activity;
2、Service;
3、Broadcast
Receiver;
4、Content
Provider。
㈣ android中Activity发送广播给Service
可以的。广播的发送者将广播发送到ActivityManagerService,ActivityManagerService接收到这个广播以后,就会在自己的注册中心查看有哪些广播接收器订阅了该广播,然后把这个广播逐一发送到这些广播接收器中。
㈤ android 广播静态注册怎么指定activity
静态注册,如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0" package="com.bn.ex2_1">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Sample2_1_Activity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 注册自定义静态广播接收器 -->
<receiver android:name=".StaticReceiver">
<intent-filter>
<action android:name="com.bn.pp2.staticreceiver" />
</intent-filter>
</receiver>
</application>
</manifest>
㈥ android开发 service 和activity 广播问题
这里我们先假定service发出内容时候的Action为ActionS。
如果activity里没有动态注册监听service发出的ActionS的广播, 即使Activity当前在使用中也不会得到通知, 更不用说未启动的Activity来捕获这个通知了。
要捕获这个字符串有两种方式, 分别如下
在AndroidManifest.xml中注册
<receiver android:name="YourBroadcastReceiver" >
<intent-filter>
<action android:name="ActionS" />
</intent-filter>
</receiver>
这样, 一旦有定义的ActionS发出来,YourBroadcastReceiver的onReceive方法就会回调了,这样的监听,不需要你的app已经在运行。你在onReceive方法里拦截处理。
2.在Activity中动态创建监听器, onCreate()中生成一个IntentFilter对象
IntentFilter filter=new IntentFilter();
//为IntentFilter添加一个ActionS
filter.addAction(ActionS);
yourBroadcastReceiver = newYourBroadcastReceiver();
registerReceiver(yourBroadcastReceiver, filter);
在onDestroy的时候去注册
unregisterReceiver(yourBroadcastReceiver);
这样的方式只有在Activity生命周期onCreate()-onDestroy()之间有效, 在YourBroadcastReceiver.onReceive()方法里拦截处理。
㈦ android一个activity启动时会向系统发送一个默认广播吗android.intent.category.LAUNCHER这个是广播吗
你要捕捉的话,自己写一个广播发送。有两个方法,一个是动态注册(就是需要是注册发送),一个是静态的。
想监听的话,就是应用程序启动的时候发送广播。用service接受。我是这样做的。类是音乐播放器,在退出应用它还会继续播放。当再次点开始不影响播放,而且播放器上面的进度条和歌词都是更新过的时时改变。
㈧ android开发如何在广播里启动一个 activity
Intent intent1=new Intent(context,main.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
System.out.println("进入锁屏界面2");
㈨ android中Activity的方法怎么用在BroadcastReceiver中
BroadcastReceiver中不是有 context么,可以直接获得啊。 如果你不想这么做的话,加一个静态的public static Context c ,实现其 set 和get方法 ,set里面在初始化时候 MainActivity.c=MainActivity.this; 这样在你的广播里面这样调用 MainActivity.c.getSystemService();即可。
㈩ android-Android广播怎么传递数据给Activity
一种是像楼主所说的,在Activity里注册一个BroadcastReceiver,Service完成某个任务就可以发一个广播,接收器收到广播后通知activity做相应的操作。 另一种是,使用bindService来关联Service和Application,应用.apk里的所有组件一般情况都运行在同一个进程中,所以不需要用到IPC,bindService成功后,Service的Client可以得到Service返回的一个iBinder引用,具体的参见Service的文档及onBind的例子,这样Service的引用就可以通过返回的iBinder对象得到,如 public class LocalService extends Service { // This is the object that receives interactions from clients. See // RemoteService for a more complete example. private final IBinder mBinder = new LocalBinder(); public class LocalBinder extends Binder { LocalService getService() { return LocalService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } } 之后Client通过这个iBinder对象得到Service对象引用之后,可以直接和Service通讯,比如读取Service中的值或是调用Service的方法。