回答
當你說「手機」時,你的意思是「有線耳機」嗎?如果是這樣,有意圖檢測是否正在插入或拔出:ACTION_HEADSET_PLUG。
要檢查狀態,可以使用AudioManager.isWiredHeadsetOn()
,但如果還有藍牙耳機,則可能會返回錯誤,並且將音頻路由到該位置。
像這樣:
final AudioManager audio =(AudioManager)getApplicationContext().getSystemService(AUDIO_SERVICE);
if(audio.isWiredHeadsetOn())
{
audio.setWiredHeadsetOn(false);
audio.setSpeakerphoneOn(true);
}
但在此之前
所以,你可以寫在 「AndroidManifest.xml
」
<receiver android:name="com.juno.brheadset.HeadsetStateReceiver">
<intent-filter>
<action android:name="android.intent.action.HEADSET_PLUG"/>
</intent-filter>
</receiver>-->
這個代碼,但是,這是行不通的。當操作系統發送這個「HEADSET_PLUG」意圖時,操作系統設置標誌「Intent.FLAG_RECEIVER_REGISTERED_ONLY」。因此,您應該在Activity或Service類中編寫如下代碼,而不是「AndroidManifest」。
public class BRHeadsetActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IntentFilter receiverFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
HeadsetStateReceiver receiver = new HeadsetStateReceiver();
registerReceiver(receiver, receiverFilter);
}
這樣就可以解決這個問題。
這將檢測耳機是否連接。我想禁用該耳機檢測機制本身。 :) – SoulRayder
請參閱本教程,它可能會幫助你http://stackoverflow.com/questions/13193873/how-to-detect-the-bt-headset-or-wired-headset-in-android –
- 1. Android:檢測耳機以及耳機?
- 2. 如何以編程方式在android手機中禁用GPS?
- 3. 如何在Android中檢測BT耳機或有線耳機
- 4. 如何在android中以編程方式連接耳機時播放聲音?
- 5. 如何在Android中以編程方式檢測死鎖?
- 6. 如何在android中以編程方式檢測MIUI ROM?
- 7. 以編程方式檢查連接到設備的耳機嗎?
- 8. 如何在Android 4.4中以編程方式啓用/禁用GPS?
- 9. 如何在android中以編程方式禁用拼寫校正
- 10. 在Windows中檢測耳機
- 11. 如果磁盤脫機,如何以編程方式檢測[c#]?
- 12. 以編程方式在iOS中連接藍牙耳機?
- 13. 如何以編程方式檢測「Android應用程序」是在Chrome書籍還是在Android手機中運行
- 14. 如何在rooted android上以編程方式禁用/啓用gps?
- 15. 如何以編程方式檢測64位或32位機器?
- 16. 如何以編程方式檢測機器人
- 17. Android以編程方式禁用onScroll()
- 18. 如何在開始服務時檢測BT耳機/耳機
- 19. Android中的USB type-c耳機檢測
- 20. 如何以編程方式禁用SparkUI?
- 21. 如何以編程方式禁用cookie
- 22. Android:以編程方式啓用/禁用相機
- 23. 如何以編程方式禁用Android中的GSM連接
- 24. 如何以編程方式禁用android中的「設置」選項?
- 25. 以編程方式從Android應用程序連接到藍牙耳機
- 26. Android M:如何以編程方式禁用打盹模式
- 27. 如何以編程方式檢測android前置攝像頭
- 28. 以編程方式在android中檢測WiFi範圍
- 29. 奇怪的手機型號 - Rmob-i9988_custom在Android中以編程方式檢測到
- 30. 在Revit中如何以編程方式進行干擾檢測?
是有線還是藍牙耳機? –
我正在使用有線耳機。 – SoulRayder