Ⅰ android 一個應用有兩套代碼編譯時怎麼指定編譯一套代碼,比如marvell寫了一個FM的應用,自己又寫了一個FM
把不用的代碼,項目關閉,自動就編譯一個了
Ⅱ android fm啟動時間多少算正常
從上層看到底層。上層就是FM的按扭操作和界面顯示,從而調用到FM底層驅動來實現廣播收聽的功能。
看看Fm啟動流程:如下圖:
先進入FMRadio.java類,onCreate初始化一些數據,畫出FM界面,啟動fm在onStart()方法里啟動FMRadioService.java (調用bindToService(this, osc)方法)。
注冊下fm設置(在設置後發送一個設置廣播,更新FMRadio類的狀態)。
載入初始化數據,獲取頻率地址
newPresetStation("",FmSharedPreferences.getTunedFrequency());
在bindToService(this,osc)方法中,先啟動StartService(同一個Service只onCreate一次),再啟動bindservice(這樣有個好處按返回鍵service不會走onDestroy方法)bindservice通過onBind回傳一個IBinder對象到FMRadio類的內部類ServiceConnection的onServiceConnected方法中,調用enableRadio()方法。
在enableRaido方法中調用FMRadio.java的isAntennaAvailable()方法進行耳機判斷,天線判斷是否可用,通過一個插入拔出廣播接收來控制的(FMRadio中的registerHeadsetListener()方法)action(Intent.ACTION_HEADSET_PLUG)
mHeadsetPlugged =(intent.getIntExtra("state", 0) == 1); 等於1說明耳機可用,等於0可用。
調用FmRadio方法FmOn (mService.fmOn())
界面可用enableRadioOnOffUI()
[java] view
plain
print?
<span style="font-size:18px;">private void enableRadio() {
mIsScaning = false;
mIsSeeking = false;
mIsSearching = false;
boolean bStatus = false;
if (isHdmiOn()) {
showDialog(DIALOG_CMD_FAILED_HDMI_ON);
}else {
<span style="font-family:KaiTi_GB2312;"> </span>if (mService != null) {
try {
if((false == mService.isFmOn()) && <strong>isAntennaAvailable()</strong>) {
bStatus = mService.fmOn();
if(bStatus) {
tuneRadio(FmSharedPreferences.getTunedFrequency());
<strong> enableRadioOnOffUI();</strong>
}else {Log.e(LOGTAG, "mService.fmOn failed");
mCommandFailed = CMD_FMON;
if(isCallActive()) {
enableRadioOnOffUI();
showDialog(DIALOG_CMD_FAILED_CALL_ON);
}else {
showDialog(DIALOG_CMD_FAILED);
}
}
}else {enableRadioOnOffUI();
}
}catch (RemoteException e) {
e.printStackTrace();
}
}
}
}</span>
在FMRadioService.java的fmOn()方法中初始化FmReceiver的引用mReceiver = newFmReceiver(FMRADIO_DEVICE_FD_STRING, fmCallbacks);
取出設置保存的地區頻率的屬性 FmConfig config =FmSharedPreferences.getFMConfiguration();
真正接受fm聲音在 bStatus =mReceiver.enable(FmSharedPreferences.getFMConfiguration());
isSpeakerEnabled()揚聲器可用,用戶設置揚聲器
Ⅲ 求一款可以在Android系統上運行的、調用手機fm模塊來實現收音功能的軟體
可以很負責的告訴你,除了一些比較差的手機,一般的手機都會帶有fm模塊的。刷機一般僅修改framework層的東西,所以對於底層的硬體怎麼會木有呢。是不是其他的地方出了問題。
Ⅳ 安卓手機fm發射軟體
這個完全沒必要。我們所使用的FM 傳輸速率非常低。傳播聲音還行。。。歌曲的,要是說FM品質的話,是最低基本的。。。這個比藍牙慢多了。。FM接收不是台台機都有。而FM發射的手機更少。。那開發出來哪個用呢。。現在藍牙哪台機沒的,還比藍牙慢,你用嗎
Ⅳ android開發中,MainActivity中的this是什麼格式 比如fm1=this,這個fm1應該怎麼聲明
this可以看做是一個變數,它的值是當前對象的引用。你可以聲明為Activty fm1=this;或者是activity的父類。
Ⅵ 有人做過Android下的FM收音機開發么
這個怕是沒有,你的意思我大概明白,你是想要個軟體藉助手機的硬體來實現收音機的功能而不是走流量,就像功能機內置的收音機一樣不需要網路支持,只要有廣播訊號就可以聽是吧?這個是無法實現的,你的手機集成了收音的硬體了嗎?沒有硬體平台,談什麼軟體運行
Ⅶ android開發省市區城市選擇器怎麼實現
發現一個好用的省市區城市選擇器,感覺挺好用的。
實現好的省市縣區選擇器,可以用來參考設計,用網頁語言做的,可以在android環境中使用。
Ⅷ android的fm有調頻發射功能么
這功能有啥用 車載用根對錄線就好了 aux 比射頻音質好多了 無用的功能
還有紅外線。。。現在還有機器配嗎?
HTC有
Ⅸ android能不能開發《非》網路收音機
可以 但需要硬體支持 手機支持不支持FM收音機 網上有現成的API可以調用
Ⅹ 什麼是android嵌入式開發
android嵌入式開發
移動是IT發展未來 !嵌入式底層就是移動的發展未來 !如何在這個風雲際會的時代,讓自己積極的參與其中,作為程序員 ,嵌入式是無可避免的選擇 !Android嵌入式底層課程繼續以Sundy獨有的分享方式 ,
基本信息
中文名稱
android嵌入式開發
發布時間
2012年
時 長
300小時+
語 種
中文
目錄
1簡介
2基本信息
3目錄
折疊編輯本段簡介
移動是IT發展未來 !嵌入式底層就是移動的發展未來 !如何在這個風雲際會的時代,讓自己積極的參與其中,作為程序員 ,嵌入式是無可避免的選擇 !Android嵌入式底層課程繼續以Sundy獨有的分享方式 ,深入淺出,不僅僅講解技術,更多的關注大家的職業生涯和發展,關注企業規模化工作中的模式。
折疊編輯本段基本信息
名稱:android嵌入式底層開發
時長:300小時+
語種:中文
發布時間:2012年
作者:sundy(張凌華)
折疊編輯本段目錄
折疊第一階段
Linux基礎及操作系統框架概述
Linux常用命令及vi
Linux系統設置
C語言重點難點講解
Linux Shell編程
折疊第二階段
GNU開發環境基礎
GNU Makefile
Linux嵌入式系統開發環境搭建
Linux應用系統開發基礎
Linux文件I/O編程
Linux進程式控制制
Linux進程間通訊
Linux多線程編程
Linux網路編程
折疊第三階段
嵌入式系統及微處理器概述
嵌入式電路圖基礎
ARM處理器系統結構
ARM匯流排方式及存儲器結構層次
ARM指令集及定址方式,Thumb指令
ARM開發環境ADS應用
ARM匯編及混合編程
Bootloader介紹及Uboot結構講解
Uboot全方位(移植,修改,編譯,生成,燒寫)
ARM硬體介面開發
裸板驅動開發
折疊第四階段
嵌入式Linux系統開發及移植
Linux內核原理概要
Linux內核配置與裁減
Linux內核編程
Linux驅動開發基礎
Linux驅動開發深入
折疊第五階段
Android系統驅動開發差異化
Android特定驅動開發
Android系統移植概述
Android RIL開發基礎
Webkit在Android上的移植
課程總結:未來是移動的未來
折疊項目
:Android從底層驅動一直到上層的修改,移植 ,通過編寫一個上層的Application來操作底層硬體;:
車載通訊多媒體系統(網路通信協議應用,包括藍牙,NFC,FM)遵循Delphi組織歐洲車載Android標准規范;
物聯網家居控制模塊兒(家庭視頻採集及傳輸模塊,實現遠程監控);
Android電磁原理手機無線充電改裝(以Sundy的Galaxy Nexus為例,改裝手機無線充電功能並且擴展外設-包括底座及手機);