Как и в API 26, getDeviceId () обесценивается, поэтому вы можете использовать следующий код для поддержки API 26 и более ранних версий
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String imei="";
if (android.os.Build.VERSION.SDK_INT >= 26) {
imei=telephonyManager.getImei();
}
else
{
imei=telephonyManager.getDeviceId();
}
Не забудьте добавить запрос на разрешение для «READ_PHONE_STATE», чтобы использовать выше код.
После того, как вы удалите значение из первого выбора, оно больше не будет выбрано, и, следовательно, выбранный индекс не будет существовать. Вам нужно заранее сохранить выбранный индекс в переменной перед удалением из обоих вариантов.
#addNode {
margin-left: 20px;
width: 20%;
height: 20px;
font-weight: bold;
}
#deleteNode {
margin-right: 20px;
width: 20%;
height: 20px;
font-weight: bold;
}
#txtInput {
width: 50%;
height: 10px;
float: left;
padding: 10px;
}
#srcNodes {
width: 40%;
font-family: courier new;
padding: 10px;
}
#targetNodes {
width: 40%;
font-family: courier new;
padding: 10px;
}
<textarea id="addNodeInput" placeholder="Node Name"></textarea>
<button id="addNode" onclick="addNode();">Add</button>
<button id="deleteNode" onclick="deleteNode();">Delete</button>
<div id="nodeConsole"></div>
<select id="srcNodes" size="8"> </select>
<select id="targetNodes" size="8"> </select>
<script>
var cmd = "";
var inNode = document.getElementById("addNodeInput");
var out = document.getElementById("nodeConsole");
function display() {
out.value = "Node Operations";
out.innerHTML = cmd + out.innerHTML;
cmd = "";
}
function deleteNode() {
var x = document.getElementById("srcNodes");
var y = document.getElementById("targetNodes");
if (x.length > 0) {
var selected = x.selectedIndex;
x.remove(selected);
y.remove(selected);
}
}
function addNode() {
var n = inNode.value;
cmd = ">>>" + n + "<br />";
//display(cmd);
inNode.value = "";
inNode.focus();
var s = document.getElementById("srcNodes");
var t = document.getElementById("targetNodes");
var option = document.createElement("option");
var option2 = document.createElement("option");
option2.text = n;
t.add(option2);
option.text = n;
s.add(option);
}
</script>