和上次获取设备序列号一样,仍然是通过无障碍服务实现,在之前的代码基础上做了更新。代码和demo如下:
package com.zwxuf.lib.devicehelper;
import android.accessibilityservice.AccessibilityService;
import android.app.Activity;
import android.app.Application;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.provider.Settings;
import android.util.Log;
import android.widget.Toast;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class DeviceHelper implements Application.ActivityLifecycleCallbacks {
static final String TAG = "WADQ_DeviceHelper";
static final String ACTION_ACQUIRE_SERIAL_SUCCESS = "zwxuf.intent.action.ACQUIRE_SERIAL_SUCCESS";
static final String ACTION_ACQUIRE_PHONE_SUCCESS = "zwxuf.intent.action.ACQUIRE_PHONE_SUCCESS";
private static Handler mHandler = new Handler(Looper.getMainLooper());
private boolean isMsgReceiverEnabled;
private OnAcquireSerialListener mOnAcquireSerialListener;
private OnAcquirePhoneListener onAcquirePhoneListener;
private Activity mActivity;
private Application mApplication;
public DeviceHelper(Activity mActivity) {
this.mActivity = mActivity;
mApplication = mActivity.getApplication();
mApplication.registerActivityLifecycleCallbacks(this);
}
public void acquireSerial(OnAcquireSerialListener listener) {
mOnAcquireSerialListener = listener;
if (!isMsgReceiverEnabled) initMsgReceiver();
AcquireSerialService.isSerialFound = false;
AcquireSerialService.isStatusInfoFound = false;
Intent intent = new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(intent);
}
public void acquirePhone(OnAcquirePhoneListener listener) {
onAcquirePhoneListener = listener;
if (!isMsgReceiverEnabled) initMsgReceiver();
Intent intent = new Intent();
intent.setClassName("com.android.phone", "com.android.phone.MSimMobileNetworkSettings");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
mActivity.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(mActivity, e.toString(), Toast.LENGTH_


177

被折叠的 条评论
为什么被折叠?



