Android 连续点击启动隐藏功能
实现方式1
private long[] mHits = new long[5];
private void ShowServerSetting() {
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);//移动数据
mHits[mHits.length-1] = SystemClock.uptimeMillis();//新点击时获取的当前时间存到数组的最后一个
if (mHits[0] >= (mHits[mHits.length-1] - 20000)) {//第一次和最后一次点击的时间间隔小于20000ms(20s),判定为有效的5次点击
Intent intent = new Intent(LoginActivity.this, AppServerActivity.class);
startActivity(intent);
}
}实现方式2
androidos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long currentClickTime = SystemClock.uptimeMillis();
long elapsedTime = currentClickTime - mLastClickTime;
mLastClickTime = currentClickTime;
if (elapsedTime < intervalTime1000) {
++monClickNum;
if (7 == monClickNum) {
//do somethings
}
} else {
monClickNum = 0;
}
}
});实现方式3 该方式就与方式2无差异,一个递增计数,一个递减计数
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (breakthrough > 0) {
if (isFastClickEachOneSec()) {
--breakthrough;
if (breakthrough == 0) {
//do somethings
return;
}
if (breakthrough < BREAK_THROUGH_TIMES - 1)
Toask.make( "点击" + breakthrough + "次开放手动权限");
} else
breakthrough = BREAK_THROUGH_TIMES;
}
}
});
Integer BREAK_THROUGH_TIMES = 7;
int breakthrough = BREAK_THROUGH_TIMES;
long lastClickTime;
public boolean isFastClickEachOneSec() {
long time = System.currentTimeMillis();
if (time - lastClickTime < 1000) {
lastClickTime = time;
return true;
}
astClickTime = time;
return false;
}版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。








评论