| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.example.uicceditor
- import android.os.Bundle
- import android.telephony.IccOpenLogicalChannelResponse
- import android.telephony.TelephonyManager
- import android.util.Log
- import androidx.activity.enableEdgeToEdge
- import androidx.appcompat.app.AppCompatActivity
- import androidx.core.view.ViewCompat
- import androidx.core.view.WindowInsetsCompat
- class MainActivity : AppCompatActivity() {
- private val TAG = "APDU"
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- enableEdgeToEdge()
- setContentView(R.layout.activity_main)
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
- val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
- insets
- }
- runApdu("00a40004022fe2")
- runApdu("00b000000a")
- }
- fun runApdu(cmd: String): String {
- val cla = cmd.substring(0, 2).toInt(16)
- val ins = cmd.substring(2, 4).toInt(16)
- val p1 = cmd.substring(4, 6).toInt(16)
- val p2 = cmd.substring(6, 8).toInt(16)
- val p3 = cmd.substring(8, 10).toInt(16)
- val data = cmd.substring(10)
- Log.i(TAG, "sendApdu: $cmd")
- val res =
- (getSystemService(TELEPHONY_SERVICE) as TelephonyManager).iccTransmitApduBasicChannel(
- cla,
- ins,
- p1,
- p2,
- p3,
- data
- )
- Log.i(TAG, "apdu response: $res")
- return res
- }
- }
|