Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tmobile.pr.mytmobile;
- import android.app.Activity;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.telephony.AccessNetworkConstants;
- import android.telephony.CellInfo;
- import android.telephony.NetworkScanRequest;
- import android.telephony.RadioAccessSpecifier;
- import android.telephony.TelephonyManager;
- import android.telephony.TelephonyScanManager;
- import android.util.Log;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.Spinner;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.List;
- public class MainActivity extends Activity implements View.OnClickListener {
- private static final String TAG = "MainActivity";
- private TextView textView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button buttonMain = findViewById(R.id.button_main);
- buttonMain.setOnClickListener(this);
- textView = findViewById(R.id.tv1);
- Spinner spinner = findViewById(R.id.spinner1);
- ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
- R.array.networklist_array, android.R.layout.simple_spinner_item);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- spinner.setAdapter(adapter);
- }
- public void onClick(View view) {
- Log.d(TAG, "onClick: MainActivity");
- Toast.makeText(this, "Click context", Toast.LENGTH_SHORT).show();
- NetworkScanRequest networkScanRequest;
- RadioAccessSpecifier[] radioAccessSpecifiers;
- Spinner spinner = findViewById(R.id.spinner1);
- String selectedText=spinner.getSelectedItem().toString();
- String[] networkOptions=getResources().getStringArray(R.array.networklist_array);
- int networkSelection=AccessNetworkConstants.AccessNetworkType.EUTRAN;
- if(networkOptions[0].contentEquals(selectedText))
- {
- networkSelection=AccessNetworkConstants.AccessNetworkType.EUTRAN;
- }
- else if(networkOptions[1].contentEquals(selectedText))
- networkSelection=AccessNetworkConstants.AccessNetworkType.UTRAN;
- else if(networkOptions[2].contentEquals(selectedText))
- networkSelection=AccessNetworkConstants.AccessNetworkType.GERAN;
- else if(networkOptions[3].contentEquals(selectedText))
- networkSelection=AccessNetworkConstants.AccessNetworkType.IWLAN;
- else if(networkOptions[4].contentEquals(selectedText))
- networkSelection=AccessNetworkConstants.AccessNetworkType.CDMA2000;
- radioAccessSpecifiers = new RadioAccessSpecifier[0];
- radioAccessSpecifiers[0] = new RadioAccessSpecifier(
- networkSelection,
- null,
- null);
- TelephonyManager tManager = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
- networkScanRequest = new NetworkScanRequest(
- NetworkScanRequest.SCAN_TYPE_PERIODIC,
- radioAccessSpecifiers,
- /**
- * Search periodicity (in seconds).
- * Expected range for the input is [5s - 300s]
- * This value must be less than or equal to mMaxSearchTime
- */
- 30,
- /**
- * Maximum duration of the periodic search (in seconds).
- * Expected range for the input is [60s - 3600s] //[1m - 1hr]
- * If the search lasts this long, it will be terminated.
- */
- 300,
- /**
- * Indicates whether the modem should report incremental
- * results of the network scan to the client.
- * FALSE – Incremental results are not reported.
- * TRUE (default) – Incremental results are reported
- */
- true,
- /**
- * Indicates the periodicity with which the modem should
- * report incremental results to the client (in seconds).
- * Expected range for the input is [1s - 10s]
- * This value must be less than or equal to mMaxSearchTime
- */
- 3,
- null);
- tManager.requestNetworkScan(networkScanRequest, AsyncTask.SERIAL_EXECUTOR, new ResponseCallback());
- }
- private class ResponseCallback extends TelephonyScanManager.NetworkScanCallback {
- private List<CellInfo> mCellInfoResults;
- private int mOnError;
- @Override
- public void onResults(List<CellInfo> cellInfoResults) {
- this.mCellInfoResults = cellInfoResults;
- MainActivity.this.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- for (CellInfo cellInfo : ResponseCallback.this.mCellInfoResults) {
- Log.d(TAG, "run: onResults");
- textView.append(" " + cellInfo.toString() + " ");
- }
- }
- });
- }
- @Override
- public void onError(int error) {
- mOnError = error;
- MainActivity.this.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Log.d(TAG, "run: onError");
- textView.append(" Error: " + mOnError);
- }
- });
- }
- @Override
- public void onComplete() {
- MainActivity.this.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Log.d(TAG, "run: onComplete");
- textView.append(" onComplete ");
- }
- });
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement