android-手機登入介面嘗試獲取手機號碼,並可選擇雙卡雙待subscriptionId
阿新 • • 發佈:2018-12-07
LogonActivity.java public class LogonActivity extends Activity { private EditText nickET; private EditText passwordET; private EditText ip; private EditText portET; private CheckBox checkMoveTaskToBack; Spinner phonesSp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); configLog(); this.setContentView(R.layout.logon); try { //獲取手機號碼 TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); String te1 = tm.getLine1Number();//獲取本機號碼 nickET = (EditText) findViewById(R.id.nickText); if (te1 != null && !te1.isEmpty()) { nickET.setText("" + te1); } passwordET = (EditText) findViewById(R.id.pwdText); passwordET = (EditText) findViewById(R.id.pwdText); TextView pwdTv = (TextView) findViewById(R.id.pwdTv); checkMoveTaskToBack = (CheckBox) findViewById(R.id.checkBoxBack); checkMoveTaskToBack.setVisibility(View.INVISIBLE); phonesSp= (Spinner) findViewById(R.id.phonesSp); //phonesSp. //選擇傳送的手機號碼 GetPhoneList(); portET =(EditText) findViewById(R.id.portET);// Integer.parseInt(getString(R.string.DefaultPort); // passwordET.setVisibility(View.INVISIBLE); // pwdTv.setVisibility(View.INVISIBLE); ip = (EditText) findViewById(R.id.ipaddrText); Button confirmButton = (Button) this.findViewById(R.id.logonConfirmBtn); confirmButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //如果是check if (checkMoveTaskToBack.isChecked()) { // moveTaskToBack(true); // Log.d("maskToBackBtn", "點選運行了moveTaskToBack()方法"); } String nick = nickET.getText().toString(); String password = passwordET.getText().toString(); if (StringUtils.isBlank(nick)) { Toast.makeText(getApplicationContext(), "請輸入使用者名稱", Toast.LENGTH_SHORT).show(); return; } final SmsApplication app = (SmsApplication) getApplication(); } }); } catch (Exception ex) { ex.printStackTrace(); } } List<SubscriptionInfo> list =null; int subscriptionId = -1; private void GetPhoneList() { List<String> phones = new ArrayList<String>(); //獲取SubscriptionManager物件 SubscriptionManager sm = SubscriptionManager.from(this); list = sm.getActiveSubscriptionInfoList();//獲取所有sim卡的資訊集合 if (list != null && list.size() > 0) { subscriptionId = list.get(0).getSubscriptionId(); for (int i = 0; i < list.size(); i++) { SubscriptionInfo info1 = list.get(i); if (info1.getNumber() != null) { phones.add(info1.getNumber()); } else { phones.add("卡" + (i + 1) + "(" + (info1.getCarrierName().toString()) + ")"); } } ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, phones.toArray(new String[phones.size()])); phonesSp.setAdapter(adapter); phonesSp.setOnItemSelectedListener(new FirsthanddlbhSpinnerSelectedListener()); //SubscriptionInfo info1 = list.get(0);//卡1的sim卡資訊 //SubscriptionInfo info2 = list.get(1);//卡2的sim卡資訊 // int slotId1 = info1.getSimSlotIndex(); } } class FirsthanddlbhSpinnerSelectedListener implements AdapterView.OnItemSelectedListener { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { subscriptionId = list.get(position).getSubscriptionId(); } @Override public void onNothingSelected(AdapterView<?> parent) { } } }
logon.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/ipAddr" /> <EditText android:id="@+id/ipaddrText" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:text="@string/DefaultIP" /> <TextView android:id="@+id/p" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv_port" /> <EditText android:id="@+id/portET" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:text="@string/DefaultPort" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv_nick" /> <EditText android:id="@+id/nickText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:text="@string/userName" /> <TextView android:id="@+id/pwdTv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv_pwd" /> <EditText android:id="@+id/pwdText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:text="@string/password" /> <TextView android:id="@+id/phonesTv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/tv_phones" /> <Spinner android:id="@+id/phonesSp" android:layout_width="fill_parent" android:layout_height="wrap_content" ></Spinner> <CheckBox android:id="@+id/checkBoxBack" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="後臺執行" /> <Button android:id="@+id/logonConfirmBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="@string/confirm" /> </LinearLayout> </LinearLayout>
手機發送簡訊息:https://mp.csdn.net/postedit/84347854