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