2012-06-27 68 views
1

這個問題幾乎是duplicate,但鏈接問題從未真正解決,線程幾個月大,所以我不想重新生成它。有條件地禁用Android波束

開啓Android Beam的ICS設備上運行的應用程序的默認行爲是用應用程序Uri推送消息,該消息將由接收端的Google Play處理。

我想開發一個活動,如果條件A爲真,將推送NdefMessage,否則將禁用推送消息。對於setNdefPushMessage(...) API文檔似乎表明這是可能通過傳遞一個空消息:

傳遞一個空NDEF消息,在指定的活動來禁用前臺NDEF推送。

但是,試圖通過簡單地將下面的代碼禁止所有推仍然與「輕觸即可傳輸」 UI來了和開放的應用程序發送結果...

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getNfcAdapter().setNdefPushMessage(null, this); 
} 

有誰知道它實際上可以禁用從活動推送?一些系統應用程序可以做到這一點,但我一直無法找到實現此目標的代碼。任何幫助深表感謝。

回答

3

這似乎是Android ICS中的一個錯誤。儘管文檔說你應該可以通過將NDEF消息設置爲空來禁用它,但這根本行不通。好消息是它已被修復,現在可以在Android 4.1 Jellybean中使用。

+0

感謝NFC傢伙。我有一種感覺,可能是這種情況。你知道是否有計劃將修補程序恢復到早期版本? – zienkikk

+0

不知道。我查看了Android的源代碼,這個bug並不是很明顯(我找不到它)。 –

+0

@NFCguy你確定它已被修復?我正在4.1設備中測試這個,並且不起作用。 –