场景:广播接收错误
我从一个片段发送广播用下面的代码
Intent intent=new Intent();
intent.setAction("writeBalanceToNFCCard");
intent.putExtra("balance", Double.valueOf(result));
getActivity().sendBroadcast(intent);
而且在MainActivity,我接收
private final BroadcastReceiver mReceiverWriteNFC=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
double newBalance = intent.getDoubleExtra("balance", 0);
write(newBalance);
}
};
中的onCreate内()的MainActivity,我注册了
IntentFilter writeNFCFilter=new IntentFilter("writeBalanceToNFCCard");
registerReceiver(mReceiverWriteNFC, writeNFCFilter);
问题: 它的工作原理有时....一个ð有时我得到以下错误
我在做什么错???
编辑: 这是写方法
private void write(double newBalance) {
Log.d(TAG, "Write to tag");
//to display new balance on homefragment.
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("newbalance",String.valueOf(newBalance));
editor.commit();
paymentData=new MyPaymentData();
paymentData.setUid(operations.getUid());
paymentData.setCurrency("dkk");
paymentData.setAmount(newBalance);
Log.d(TAG,"WRITE NFC: BALANCE="+ String.valueOf(newBalance));
byte[] bytes = encodePayload(paymentData);
byte[] encrypted = encrypt(bytes);
new WriteTask().execute(encrypted,bytes);
}
编辑2:
错误后,看到下面的图片中,write()方法实际上被调用并执行其功能。问题是客户绝对不会喜欢看到一个丑陋的应用程序崩溃消息..!
MainActivity的第450行是什么? –
发布您的write()方法 – stinepike
line 450:paymentData.setUid(operations.getUid()); – kandroid