A. android_studio手機藍牙串口通信源代碼
初涉android的藍牙操作,按照固定MAC地址連接獲取Device時,程序始終是異常終止,查了好多天代碼都沒查出原因。今天改了一下API版本,突然就成功連接了。總結之後發現果然是個坑爹之極的錯誤。
為了這種錯誤拚命查原因浪費大把時間是非常不值得的,但是問題不解決更是揪心。可惜我網路了那麼多,都沒有給出確切原因。今天特此mark,希望後來者遇到這個問題的時候能輕松解決。
下面是我的連接過程,中間崩潰原因及解決辦法。
1:用AT指令獲得藍牙串口的MAC地址,地址是簡寫的,按照常理猜測可得標准格式。
2:開一個String adress= "************" //MAC地址, String MY_UUID= "************"//UUID根據通信而定,網上都有。
3:取得本地Adapter用getDefaultAdapter(); 遠程的則用getRemoteDevice(adress); 之後便可用UUID開socket進行通信。
如果中途各種在getRemoteDevice處崩潰,大家可以查看一下當前的API版本,如果是2.1或以下版本的話,便能確定是API版本問題,只要換成2.2或者以上就都可以正常運行了~ 這么坑爹的錯誤的確很為難初學者。 唉·········· 為這種小trick浪費很多時間真是難過。
(另外有個重要地方,別忘了給manifest裡面加以下兩個藍牙操作許可權哦~)
<uses-permissionandroid:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
下面附上Android藍牙操作中用固定MAC地址傳輸信息的模板,通用搜索模式日後再補刪模板:
=null;
=null;
privateOutputStreamoutStream=null;
privateInputStreaminStream=null;
privatestaticfinalUUIDMY_UUID=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//這條是藍牙串口通用的UUID,不要更改
privatestaticStringaddress="00:12:02:22:06:61";//<==要連接的藍牙設備MAC地址
/*獲得通信線路過程*/
/*1:獲取本地BlueToothAdapter*/
mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter==null)
{
Toast.makeText(this,"Bluetoothisnotavailable.",Toast.LENGTH_LONG).show();
finish();
return;
}
if(!mBluetoothAdapter.isEnabled())
{
Toast.makeText(this,"-runthisprogram.",Toast.LENGTH_LONG).show();
finish();
return;
}
/*2:獲取遠程BlueToothDevice*/
BluetoothDevicedevice=mBluetoothAdapter.getRemoteDevice(address);
if(mBluetoothAdapter==null)
{
Toast.makeText(this,"Can'tgetremotedevice.",Toast.LENGTH_LONG).show();
finish();
return;
}
/*3:獲得Socket*/
try{
btSocket=device.(MY_UUID);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Socketcreationfailed.",e);
}
/*4:取消discovered節省資源*/
mBluetoothAdapter.cancelDiscovery();
/*5:連接*/
try{
btSocket.connect();
Log.e(TAG,"ONRESUME:BTconnectionestablished,datatransferlinkopen.");
}catch(IOExceptione){
try{
btSocket.close();
}catch(IOExceptione2){
Log.e(TAG,"ONRESUME:",e2);
}
}
/*此時可以通信了,放在任意函數中*/
/*try{
outStream=btSocket.getOutputStream();
inStream=btSocket.getInputStream();//可在TextView里顯示
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Outputstreamcreationfailed.",e);
}
Stringmessage="1";
byte[]msgBuffer=message.getBytes();
try{
outStream.write(msgBuffer);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);
}
*/
通用搜索模式代碼模板:
簡潔簡潔方式1 demo
作用: 用VerticalSeekBar控制一個 LED屏幕的亮暗。
直接上碼咯~
packagecom.example.seed2;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.app.Dialog;
importandroid.os.Bundle;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.UUID;
importandroid.bluetooth.BluetoothAdapter;
importandroid.bluetooth.BluetoothDevice;
importandroid.bluetooth.BluetoothSocket;
importandroid.content.DialogInterface;
importandroid.util.Log;
importandroid.view.KeyEvent;
importandroid.widget.Toast;
{
privatestaticfinalStringTAG="BluetoothTest";
=null;
=null;
privateOutputStreamoutStream=null;
privateInputStreaminStream=null;
privateVerticalSeekBarvskb=null;
privatestaticfinalUUIDMY_UUID=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");//這條是藍牙串口通用的UUID,不要更改
privatestaticStringaddress="00:12:02:22:06:61";//<==要連接的藍牙設備MAC地址
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.vskb=(VerticalSeekBar)super.findViewById(R.id.mskb);
this.vskb.setOnSeekBarChangeListener(newOnSeekBarChangeListenerX());
mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
if(mBluetoothAdapter==null)
{
Toast.makeText(this,"Bluetoothisnotavailable.",Toast.LENGTH_LONG).show();
finish();
return;
}
if(!mBluetoothAdapter.isEnabled())
{
Toast.makeText(this,"-runthisprogram.",Toast.LENGTH_LONG).show();
finish();
return;
}
}
.OnSeekBarChangeListener{
publicvoidonProgressChanged(VerticalSeekBarseekBar,intprogress,booleanfromUser){
//Main.this.clue.setText(seekBar.getProgress());
/*Stringmessage;
byte[]msgBuffer;
try{
outStream=btSocket.getOutputStream();
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);
}
message=Integer.toString(seekBar.getProgress());
msgBuffer=message.getBytes();
try{
outStream.write(msgBuffer);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);
}*/
}
(VerticalSeekBarseekBar){
Stringmessage;
byte[]msgBuffer;
try{
outStream=btSocket.getOutputStream();
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);
}
message=Integer.toString(seekBar.getProgress());
msgBuffer=message.getBytes();
try{
outStream.write(msgBuffer);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);
}
}
publicvoidonStopTrackingTouch(VerticalSeekBarseekBar){
Stringmessage;
byte[]msgBuffer;
try{
outStream=btSocket.getOutputStream();
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:OutputStreamcreationfailed.",e);
}
message=Integer.toString(seekBar.getProgress());
msgBuffer=message.getBytes();
try{
outStream.write(msgBuffer);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);
}
}
}
@Override
publicvoidonStart()
{
super.onStart();
}
@Override
publicvoidonResume()
{
super.onResume();
BluetoothDevicedevice=mBluetoothAdapter.getRemoteDevice(address);
try{
btSocket=device.(MY_UUID);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Socketcreationfailed.",e);
}
mBluetoothAdapter.cancelDiscovery();
try{
btSocket.connect();
Log.e(TAG,"ONRESUME:BTconnectionestablished,datatransferlinkopen.");
}catch(IOExceptione){
try{
btSocket.close();
}catch(IOExceptione2){
Log.e(TAG,"ONRESUME:",e2);
}
}
//.
/*try{
outStream=btSocket.getOutputStream();
inStream=btSocket.getInputStream();
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Outputstreamcreationfailed.",e);
}
Stringmessage="read";
byte[]msgBuffer=message.getBytes();
try{
outStream.write(msgBuffer);
}catch(IOExceptione){
Log.e(TAG,"ONRESUME:Exceptionringwrite.",e);
}
intret=-1;
while(ret!=-1)
{
try{
ret=inStream.read();
}catch(IOExceptione)
{
e.printStackTrace();
}
}
*/
}
@Override
B. 誰能給一份開發基於藍牙4.0的android的demo源碼
請參考如下WIKI頁面,基本上目前有提供的BLE的參考代碼都集中到這個頁面了:http://processors.wiki.ti.com/index.php/Category:BluetoothLE
C. 關於android藍牙客戶端通訊開發,有沒有好用的第三方庫
Symbian OS(塞班) Symbian OS(中文譯音「塞班系統」)由諾基亞、索尼愛立信、摩托羅拉、西門子等幾家大型移動通訊設備商共同出資組建的一個合資公司,專門研發手機操作系統。而Symbian操作系統的前身是EPOC,而EPOC是 Electronic Piece ofCheese取第一個字母而來的,其原意為"使用電子產品時可以像吃乳酪一樣簡單",這就是它在設計時所堅持的理念。 Symbian操作系統在智能移動終端上擁有強大的應用程序以及通信能力,這都要歸功於它有一個非常健全的核心-強大的對象導向系統、企業用標准通信傳輸協議以及完美的sun java語言。Symbian認為無線通訊裝置除了要提供聲音溝通的功能外,同時也應具有其它種溝通方式,如觸筆、鍵盤等。在硬體設計上,它可以提供許多不同風格的外型,像使用真實或虛擬的鍵盤,在軟體功能上可以容納許多功能,包括和他人互相分享信息、瀏覽網頁、傳輸、接收電子信件、傳真以及個人生活行程管理等。此外,Symbian操作系統在擴展性方面為製造商預留了多種介面,而且EPOC 操作系統還可以細分成三種類型:Pearl/Quartz/Crystal,分別對應普通手機、智能手機、Hand Held PC場合的應用。 優點:多年來Symbian系統一直占據智能系統的市場霸主地位,系統能力和易用性等各方面很強! 缺點:一般配置的機型反映較慢,對主流的媒體格式的支持性較差,不同版本的軟體兼容性不好,且證書問題也很頭痛。 Windows Mobile 微軟推出的Windows Mobile操作系統最初被視作是與Palm OS競爭的產品,然而時至今日,Windows Mobile的應用已經超過Palm,開始顯露出掌上設備王者的風范。去年發布的V5.0做出了很多實用的改進,包括更加智能化的Word和Excel版本、直接郵件技術和持久的數據存儲。 Windows Mobile是 Microsoft 用於 Pocket PC 和 Smartphone 的軟體平台。Windows Mobile 將熟悉的 Windows 桌面擴展到了個人設備中。 Windows Mobile是微軟為手持設備推出的「移動版Windows」,使用WindowsMobile操作系統的設備主要有手機、PDA、隨身音樂播放器等。Windows Mobile操作系統有三種,分別是WindowsMobile Standard、Windows MobileProfessional,Windows Mobile Classic。目前最新的版本是Windows Mobile 6.1,6.5版本即將公布。 Windows Mobile掌上電腦和手機的主流硬體配置:CPU: 195-624 Mhz, 主要晶元廠商:Intel,Texas Instruments, Samsung, Qualcomm等,內存:64-128MB Ram (用於程序運行),128-256MBRom (用於第三方程序及用戶文件儲存),顯示屏:240x320或480x640,6.5萬色,2.4-3.5英寸,擴充卡:Micro SD或SD,SDHC,高端機型內置WiFi無線網路接收模塊,GPS衛星接收模塊,FM收音機接收模塊,3G或3.5G高速網路,另配有藍牙及用於和電腦同步用的USB介面。 優點:界面和操作都和電腦上的Windows十分接近,對於機友來說十分熟悉又上手;各種保存在電腦或手機里的信息、資料可以輕松實現共享;有大量的應用軟體可供用戶選擇 缺點:佔用系統資源高、容易系統崩潰、機型價格相對較高。。。 Linux 目前採用Linux操作系統的手機越來越多,不過幾乎每一部手機的操作系統都是廠家自己開發的,Linux並沒有一個統一的平台。不過值得注意的是,近期有廠商推出了GreenPhone的概念,也就是提供一個統一的Linux軟體平台,然後再由手機製造商添加具體的特性,這已經較接近完整的手機操作系統。 目前Linux發展的最大阻力在於它對硬體要求比較高,而且沒有一個強有力的推廣方。這樣就導致Linux手機的成本並不便宜,而且版本混亂。但Linux的優勢也相當明顯,首先它是免費的,不需要繳納任何專利費,這對於大多數手機製造商都是極大的誘惑;其次它是開源的,每一家願意的廠商都能夠加入到Linux操作系統的底層開發中。 關於Linux的前景,我們只能預測短期。現在其他操作系統已經相當完善,而Linux還遠遠談不上成熟,所以在短期內Linux不會獲得大規模應用,但採用Linux的手機應該會接連不斷地出現在市場上,並且受到一定的歡迎。 優點:具有自由、免費、開放源代碼的優勢,可以由用戶自主研究代碼,自定義多數系統的內容 缺點:Linux操作系統的機型來自官方的第三方軟體很少,需要用戶自行刷機後才能安裝更多的程序,操作起來有些門檻。 Palm OS Palm OS是Palm公司開發的專用於PDA上的一種操作系統,這是PDA上的霸主,一度普占據了90%的PDA市場的份額。雖然其並不專門針對於手機設計,但是Palm OS的優秀性和對移動設備的支持同樣使其能夠成為一個優秀的手機操作系統。其最新的版本為Palm OS 5.2。目前具有手機功能的Palm PDA如Palm公司的Tungsten W。而Handspring公司(目前已被Palm公司收購)的Treo系列則是專門使用Palm OS的手機,如Treo 270以及最新的倍受矚目的Treo 650。 四年前掌上電腦操作系統的霸主是Palm,那時的中高端PDA清一色都是Palm和索尼的產品,而且幾乎都是境外帶回來的水貨。不過如今Palm操作系統如今已經風光不再,當年索尼宣布退出國際PDA市場(實際上等於宣布停止生產Palm操作系統的PDA,因為索尼的全部PDA都採用Palm系統),對於 Palm來說不亞於一場雪崩,而且事實上索尼的退出也確實成為Palm由盛轉衰的分水嶺,此後Palm的市場分額逐漸被Windows Mobile所蠶食。 優點:Palm OS系統運行佔用資源少,處理速度快,且簡單易用 缺點:功能單一,用戶群少,支持中文的操作平台開發慢啊慢 Mac OS X (蘋果iphone的系統) Mac OS X 是蘋果麥金塔電腦之操作系統軟體的 Mac OS最新版本。Mac OS X 於 2001年 首次在商場上推出。它包含兩個主要的部份:Darwin,是以 BSD 原始碼和 Mach 微核心為基礎,類似 Unix 的開放原始碼環境,由蘋果電腦採用和與獨立開發者協同作進一步的開發;及一個由蘋果電腦開發,命名為 Aqua 之有版權的 GUI。 Mac OS X Server 亦同時於2001年發售. 架構上來說與工作站(客戶端)版本相同,只有在包含的工作群組管理和管理軟體工具上有所差異,提供對於關鍵網路服務的簡化存取,像是郵件傳輸伺服器, samba 軟體,LDAP 目錄伺服器,以及名稱伺服器(DNS)。同時它也有不同的授權型態。 優點:全觸摸設計,真的是一次手機革命,娛樂性能強,第三方軟體多 缺點:系統封閉,功能不是太全面 Google Android HTC G1操作界面Android 是Google開發的基於Linux平台的開源手機操作系統。它包括操作系統、用戶界面和應用程序 ——行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。谷歌與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關系,我們希望藉助建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。我們認為此舉必將推進更好、更快的創新,為移動用戶提供不可預知的應用和服務。 android一詞的本義指「機器人」,當時同時Android也是Google於07年11月5日宣布的基於Linux平台開源手機操作系統名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成,號稱是首個為移動終端打造的真正開放和完整的移動軟體。 2008年9月22日,美國運營商T-Mobile USA在紐約正式發布第一款Google手機——T-Mobile G1。該款手機為宏達電製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率7.2Mbps,並支持 Wi-Fi。 優點:具備觸摸屏、高級圖形顯示和上網功能,界面強大,可以說是一種融入全部Web應用的單一平台 缺點:採用該系統的機型少,上手有點難度 BlackBerry(黑莓) 「黑莓」BlackBerry是美國市場佔有率第一的智能手機,這得益於它的製造商RIM(Research in Motion)較早地進入移動市場並且開發出適應美國市場的郵件系統。大家都知道BlackBerry的經典設計就是寬大的屏幕和便於輸入的QWERTY 鍵盤,所以BlackBerry一直是移動電郵的巨無霸。正因為是正統的商務機,所以它在多媒體播放方面的功能非常孱弱,也許它在未來應該著力改善這個弱點,因為手機功能的整合是大勢所趨,人們不會只滿足於單一的功能。 BlackBerry開始於1998年,RIM的品牌戰略顧問認為,無線電子郵件接收器擠在一起的小小的標准英文黑色鍵盤,看起來像是草莓表面的一粒粒種子,就起了這么一個有趣的名字。應該說,Blackberry與桌面PC 同步堪稱完美,它可以自動把你Outlook郵件轉寄到Blackberry中,不過在你用Blackberry發郵件時,它會自動在郵件結尾加上「此郵件由Blackberry發出」字樣。 BlackBerry在美國之外的影響微乎其微,我國最近已經在廣州開始與RIM合作進行移動電郵的推廣試驗,不過目前看來收效甚微。大家都知道,我國對於電子郵件的依賴並不像美國人那麼強,他們在電子郵件里討論工作、安排日程,而我們則更傾向於當面交談。可以說BlackBerry在中國的影響幾乎為零,除了它那經典的外形。 優點:Blackberry與桌面PC 同步堪稱完美,大家都知道BlackBerry的經典設計就是寬大的屏幕和便於輸入的QWERTY鍵盤,所以BlackBerry一直是移動電郵的巨無霸。 缺點:在多媒體播放方面的功能非常孱弱。 麻煩採納,謝謝!
D. 基於android studio3.0編寫的藍牙串口
ndroid是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。[1]2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。
E. iOS開發 同一個藍牙設備,為什麼android發現的服務比iOS多
因為安卓系統的開放程度比蘋果手機系統要高,所以它的功能相應的也會多一些,這個並不奇怪。
F. android bluedroid什麼意思
android bluedroid什麼意思寫回答
android bluedroid什麼意思
寫回答有獎勵 共1個回答
1條回答
心愛淺紫色
2016-06-21 TA獲得超過6040個贊
關注
Android 4.2之前,Google一直使用的是Linux官方藍牙協議棧BlueZ。BlueZ實際上是由高通公司在2001年5月基於GPL協議發布的一個開源項目,做為Linux 2.4.6內核的官方藍牙協議棧。隨著Android設備的流行,BlueZ也得到了極大的完善和擴展。例如Android 4.1中BlueZ的版本升級為4.93,它支持藍牙核心規范4.0,並實現了絕大部分的Profiles。
從Android 4.2開始,Google便在Android源碼中推出了它和博通公司一起開發的BlueDroid以替代BlueZ。BlueZ的創始者,高通公司也將在基於其晶元的Android參考設計中去除BlueZ,支持BlueDroid。
相比BlueZ,BlueDroid最值得稱道的地方就是其框架結構變得更為簡潔和清晰。對我們工程師來說這也是個不錯的福利,清晰、簡潔的架構使我們在debug過程中思路更清晰;
G. 安卓開源Android_permission訪問許可權
android.permission.ACCESS_NETWORK_STATE允許程序訪問有關GSM網路信息(Allowsapplications to access information about networks)
android.permission.ACCESS_WIFI_STATE允許程序訪問Wi-Fi網路狀態信息(Allowsapplications to access information about Wi-Fi networks)
android.permission.BLUETOOTH允許程序連接到已配對的藍牙設備(Allowsapplications to connect to paired bluetooth devices)
android.permission.BLUETOOTH_ADMIN允許程序發現和配對藍牙設備(Allowsapplicationsto discover and pair bluetooth devices)
android.permission.CHANGE_WIFI_STATE允許程序改變Wi-Fi連接狀態(Allowsapplications to change Wi-Fi connectivity state)
android.permission.DEVICE_POWER允許訪問底層電源管理(Allowslow-level access to power management)
android.permission.DISABLE_KEYGUARD允許程序禁用鍵盤鎖(Allowsapplications to disable the keyguard )
android.permission.EXPAND_STATUS_BAR允許一個程序擴展收縮在狀態欄,Android開發網提示應該是一個類似WindowsMobile中的托盤程序(Allows an application to expand or collapse the status bar.)
android.permission.GET_DETAILED_TASKS 檢索正在運行的應用的詳細信息,惡意程序可藉此獲得其他應用的私密信息
android.permission.GET_TASKS 檢索正在運行的應用,可用於了解當前設備上使用了哪些應用
android.permission.INJECT_EVENTS 將自身的輸入事件(例如按鍵)提供給其他應用,惡意程序可堅持控制手機
android.permission.INTERNAL_SYSTEM_WINDOW 允許創建未授權的內部系統窗口,普通應用絕不應該使用此許可權
android.permission.MANAGE_APP_TOKENS 創建和管理令牌,普通應用絕不應該使用此許可權
android.permission.MASTER_CLEAR 恢復出廠設置
android.permission.MANAGE_NETWORK_POLICY
android.permission.MANAGE_USB
android.permission.MOUNT_UNMOUNT_FILESYSTEMS允許掛載和反掛載文件系統可移動存儲(Allowsmounting and unmounting file systems for removable storage. )
android.permission.RECEIVE_BOOT_COMPLETED允許一個程序接收到 ACTION_BOOT_COMPLETED廣播在系統完成啟動(Allowsan application to receive the ACTION_BOOT_COMPLETED that is broadcast after thesystem finishes booting. )
android.permission.REORDER_TASKS允許程序改變Z軸排列任務(Allowsan application to change the Z-order of tasks)
android.permission.READ_PHONE_STATE 讀取手機的狀態和身份,可以確定手機的號碼/序列號/是否處於通話狀態/被叫號碼
android.permission.READ_FRAME_BUFFER 讀取幀緩沖區的內容
android.permission.REMOVE_TASKS 停止正在運行的進程,惡意程序可以藉此停止其他程序的運行
android.permission.READ_EXTERNAL_STORAGE
android.permission.REMOTE_AUDIO_PLAYBACK
android.permission.START_ANY_ACTIVITY 允許應用啟動任何活動(不考慮許可權保護和導出狀態)
android.permission.SYSTEM_ALERT_WINDOW 在其他應用之上或用戶界面的特定部分繪圖,可能會干擾對用戶界面的使用,或者使其他應用中看到的內容發生變化
android.permission.SET_ORIENTATION允許底層訪問設置屏幕方向和實際旋轉(Allowslow-level access to setting the orientation (actually rotation) of the screen.)
android.permission.STATUS_BAR允許程序打開、關閉或禁用狀態欄及圖標Allows an application to open, close, or disable the statusbar and its icons.
android.permission.SET_SCREEN_COMPATIBILITY 允許控制其他應用的屏幕兼容模式,惡意程序可以藉此影響其他應用的行為
android.permission.START_ANY_ACTIVITY 允許應用啟動任何活動(不考慮許可權保護和導出狀態)
android.permission.STOP_APP_SWITCHES讓應用程序始終運行
android.permission.STATUS_BAR_SEBVICE
android.permission.SHELL
android.permission.UPDATE_DEVICE_STATS 允許應用修改電池的統計信息,普通應用絕不應該使用此許可權
android.permission. VIBRATE控制振動器
android.permission.WRITE_EXTERNAL_STORAGE 允許寫入或刪除SD卡
android.permission.WRITE_SETTINGS 修改系統設置,惡意程序可以藉此破壞系統
android.permission.WAKE_LOCK 阻止手機進入休眠狀態
H. bluedroid是什麼藍牙適配器嗎
是一個藍牙版塊,bluedroid是在安卓上替代bluez的一個藍牙協議棧。
Android 4.2之前,Google一直使用的是Linux官方藍牙協議棧BlueZ。BlueZ實際上是由高通公司在2001年5月基於GPL協議發布的一個開源項目,做為Linux 2.4.6內核的官方藍牙協議棧。
隨著Android設備的流行,BlueZ也得到了極大的完善和擴展。例如Android 4.1中BlueZ的版本升級為4.93,它支持藍牙核心規范4.0,並實現了絕大部分的Profiles。
從Android 4.2開始,Google便在Android源碼中推出了它和博通公司一起開發的BlueDroid以替代BlueZ。BlueZ的創始者,高通公司也將在基於其晶元的Android參考設計中去除BlueZ,支持BlueDroid。
相比BlueZ,BlueDroid最值得稱道的地方就是其框架結構變得更為簡潔和清晰。
藍牙適配器指數碼產品適用藍牙設備的介面轉換器。
藍牙適配器採用了全球通用的短距離無線連接技術,使用與微波、遙控器以及有些民用無線通訊器材相同的2.4GHz附近免付費、免申請的無線電頻段,為避免此頻段電子裝置眾多而造成的相互干擾,因而以1600次高難度跳頻以及加密保密技術。
I. Android 藍牙開發,求解如何代碼實現讓本機與其他設備進行連接未配對的先配對,已配對的直接連接.
我在github有寫過一個例子:https://github.com/TitleZWC/BLEDemo
希望對你有幫助
J. android ble有哪些開源框架
你是用tcp還是http與伺服器通訊,tcp的話可以用socket,哪有 什麼框架,你要是用http的話 是你描述的那樣,我寫過一點用socket通訊的應用,但是沒有xml,struts,json什麼的東東,那些沒有用過