2013-12-17 70 views
2

所以,這是我的問題,我想讓一個Activity在我的Activity(從API級別8到當前API級別)支持的所有API級別上工作。使用Android Beam less API級別14

我的問題是,如果我想使用Android Beam功能,我需要我的活動實現

NfcAdapter.CreateNdefMessageCallbackNfcAdapter.OnNdefPushCompleteCallback 但我不能做,如果SDK水平低於14

它的工作

是否有人知道我是否可以做其他事情來使其工作,例如,youtube應用程序做或做我需要兩個不同的應用程序,一個用於Android較少的API 14和另一個用於Android API 14?

+0

你的意思是你想Android Beam功能在所有設備上工作,或者你要使用的所有設備上的相同活動,並禁用那些不支持它的那些Beam功能? – Kuffs

+0

第二個。我想在所有設備上使用相同的Activity,並在不支持Beam功能的設備上禁用Beam功能。謝謝! – zapotec

回答

1

不要直接在您的活動中使用接口實現。

相反,檢查SDK級別,並設置回調,如果手動你是上述SDK14

如:

private class myCallback implements NfcAdapter.CreateNdefMessageCallback { 

    @Override 
    public NdefMessage createNdefMessage(NfcEvent nfcEvent) { 
     // Your callback code 
     ... 
    } 
} 

MyNfcAdapter.setNdefPushMessageCallback(new myCallback, activity, activities); 
+0

這就是我最終做的。我認爲這是我想要的最好的解決方案。我嘗試了一款沒有使用NFC的Android設備,另一款使用了NFC,但API級別低於14,另一款設備使用了API Level 14,並且它在每臺設備上的工作方式都是如此。非常感謝! – zapotec

相關問題