Android广播启动
⑴ android开发如何在广播里启动一个 activity
Intent intent1=new Intent(context,main.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
System.out.println("进入锁屏界面2");
⑵ android中的广播怎么使用
广播操作有两种
1、发送广播,就是你自己发送出去一个广播,让别人接收
2、接收广播,这个是自己实现一个广播接收器,接收那些你自己过滤的广播,然后处理
具体的代码实现,可以在网上找找
⑶ Android怎样通过广播机制唤醒后台服务
[mw_shl_code=java,false] <receiver
android:name="com.test.DataChangeReceiver" >
<intent-filter>
<action
android:name="android.intent.action.DATE_CHANGED" />
</intent-filter>
</receiver>[/mw_shl_code]
这个是一个接收日期改变后的广播的例子;
对应的 java文件
就一个receive
[mw_shl_code=java,true]public class DataChangeReceiver extends
BaseReceiver {
@Override
public void onReceive(Context
context, Intent intent) {}
}[/mw_shl_code]
⑷ Android开机过程中什么时候发开机广播
Android开机过程中发开机广播如下: intent的发送点是在: finishBooting函数(ActivityManagerService.java) 调用关系是: startHomeActivityLocked() -> ensureBootCompleted() -> finishBooting() -> mStackSupervisor.startHomeActivity(intent, aInfo) 所以系统发出这个intent的时候 ,home界面并没有起来,发出之后很短的时间 home就启动,在配置文件AndroidManifest.xml中向系统注册receiver,子节点 intent-filter 表示接收android.intent.action.BOOT_COMPLETED 消息 <receiver android:name="com.ray.ray.receiver.BootCompletedReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
⑸ Android启动广播时怎样往广播中传递参数
我们在android中使用广播来让其他监听广播的地方能够对相应的事情做处理,但有的时候我们仍然需要传递一些其他的附带值,而这个时候是可以直接用播放广播的intent来传递的。
例:
Intent intent = new Intent();
intent.putExtra("msgPersons", msgPersons);
intent.setAction(Constant.hasMsgUpdatedAction);
intent.putExtra("userId", userId);
intent.putExtra("msgCount", messages.size());
sendBroadcast(intent);
监听广播的代码:
if (type.equals(Constant.hasMsgUpdatedAction)) {
if (obj instanceof Intent) {
Intent intent = (Intent) obj;
String msgPersons = intent.getStringExtra("msgPersons");
.......
}
}
这里的obj实际上是广播监听函数public void onReceive(String type, Object obj)中的第二个参数。当时看到这个函数的时候,一直不明白第二个参数的作用,后来才发现,原来还可以通过它来得到intent。
⑹ android 启动一个app是否有广播
这是一个有深度的问题。
博文“Android 编程下监视应用程序的启动”,如果它是准确的,那么启动app系统并不会提供广播。
⑺ android广播中怎么启动服务+csdn
无界面不能启动service。。。你可以这样设计。设计一个界面打开一次后将界面和app图标隐藏 并启动service和广播android广播中怎么启动服务+csdn
⑻ Android启动广播时怎样往广播中传递参数
在android中使用广播来让其他监听广播的地方能够对相应的事情做处理,但有的时候需要传递一些其他的附带值,而这个时候是可以直接用播放广播的intent来传递的。
例:
Intent intent = new Intent();
intent.putExtra("msgPersons", msgPersons);
intent.setAction(Constant.hasMsgUpdatedAction);
intent.putExtra("userId", userId);
intent.putExtra("msgCount", messages.size());
sendBroadcast(intent);
⑼ android系统启动一个应用时有什么广播
现在有应用A和应用B,我需要在A应用中启动B应用中的某个Activity
实现:A应用中的Activity发送广播,关键代码如下:
String broadcastIntent = "com.example.android.notepad.NotesList";//自己自定义
Intent intent = new Intent(broadcastIntent);
this.sendBroadcast(intent);
B应用中需要一个BroadcastReceiver来接收广播,取名TestReceiver继承BroadcastReceiver重写onReceive方法启动一个activity,关键代码如下:
if(intent.getAction().equals("com.example.android.notepad.NotesList")){
Intent noteList = new Intent(context,NotesList.class);
noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(noteList);
}
到这代码就完成了,当然在AndroidManifest.xml中要对TestReceiver进行注册,代码如下:
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="com.example.android.notepad.NotesList"/>
</intent-filter>
</receiver>
这样就完成了通过广播启动另一个应用Activity。
注意问题:Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用 Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,解决办法是,加一个flag,也就是这句noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);的作用。如果不添加这句,就会报android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity,Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
分类: Android