前台调度器滞后

时间:2015-01-21 16:18:53

标签: java android nfc

我正在编写一个使用前台调度程序的应用程序,以便从NFC标签读取和写入数据。 当我将标签接近电话时(我可以听到系统通知),我的应用程序在大约五秒后收到意图。我怎样才能减少这种延迟? 我在Nexus 5 / Android 5.0和三星Galaxy Ace 4 / Android 4.4.2上尝试了代码。结果相同。 这是代码:

public class MainActivity extends Activity{

PendingIntent nfcIntent;
IntentFilter[] intentFiltersArray;
String[][] techListsArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //....
    nfcIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
    IntentFilter inf_ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    IntentFilter inf_tech = new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);
    inf_ndef.addDataType("text/plain");
    intentFiltersArray = new IntentFilter[] { inf_ndef, inf_tech };
    techListsArray = new String[][] { NFCHandler.getTechs(), NFCHandler.getAllTechs() };
}

public void onNewIntent(Intent intent) {
    Log.d("Hey!", "Intent");
    //Do something...
}

//this method is called on button press
public void startDispatcher() {
    NfcAdapter.getDefaultAdapter(this).enableForegroundDispatch(this,
            nfcIntent, intentFiltersArray, techListsArray);
}
}

0 个答案:

没有答案