前言: 有第三方要借我们的某软件临时一用,由于该软件只在内部使用,为了避免流出,上头要求对软件做处理,让app拷贝或者分享后不能直接使用。
要点:
- Android设备获取唯一UID(或其他数据,总之可以用来加密就行)
- AlertDialog自定义为可复制,可编辑,在没有输对序列号的情况下起到封锁app的作用
控制app进入的方法放在入口Activity中的OnCreate方法里:
(部分代码简化,只放关键代码)
//用SP作为序列号及激活状态的存储手段
SharedPreferences preferences = getSharedPreferences(SPNAME, Activity.MODE_PRIVATE);
//使用getSetUID方法获取设备UID,该方法放在下边
final String DEVICE_ID = getSetUID(MainActivity.this);
//通过一定的算法获取序列号,这个方法就不放了
final String IDKey=KeyUtils.getKey(DEVICE_ID);
if(!preferences.getString("IDKey","").equals(IDKey)) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//自定义的Alertdialog界面
View view= LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog