AndroidICS4.0----LockScreen锁屏流程
先来说说LockScreen分类;
一、无锁屏;
二、锁屏:
1、UnLockScreen:
图案锁、PIN锁,密码锁;
2、LockScreen:
波纹锁;
转载请表明出处:
https://www.360docs.net/doc/be13115796.html,/wdaming1986/article/details/7753206
有图有真相------>
接着我们来看看LockScreen的时序图:
综上所述:
1、createUnlockScreenFor()方法创建的是UnLockScreen界面,代码如下:
[java]view plaincopyprint?
1View createUnlockScreenFor(UnlockMode unlockMode) {
2 View unlockView = null;
3
4if (DEBUG) Log.d(TAG,
5"createUnlockScreenFor(" + unlockMode + "): mEnableFallback=" + mEnableFallback);
6
7if (unlockMode == UnlockMode.Pattern) {
8 PatternUnlockScreen view = new PatternUnlockScreen(
9 mContext,
10 mConfiguration,
11 mLockPatternUtils,
12 mUpdateMonitor,
13 mKeyguardScreenCallback,
14 mUpdateMonitor.getFailedAttempts());
15 view.setEnableFallback(mEnableFallback);
16 unlockView = view;
17 } else if (unlockMode == UnlockMode.SimPuk) {
18 unlockView = new SimPukUnlockScreen(
19 mContext,
20 mConfiguration,
21 mUpdateMonitor,
22 mKeyguardScreenCallback,
23 mLockPatternUtils,
MSimTelephonyManager.getDefault().getDefaultSubscription());
24 } else if (unlockMode == UnlockMode.SimPin) {
25 unlockView = new SimUnlockScreen(
26 mContext,
27 mConfiguration,
28 mUpdateMonitor,
29 mKeyguardScreenCallback,
30 mLockPatternUtils);
31 } else if (unlockMode == UnlockMode.Account) {
32try {
33 unlockView = new AccountUnlockScreen(
34 mContext,
35 mConfiguration,
36 mUpdateMonitor,
37 mKeyguardScreenCallback,
38 mLockPatternUtils);
39 } catch (IllegalStateException e) {
40 Log.i(TAG, "Couldn't instantiate AccountUnlockScreen"
41 + " (IAccountsService isn't available)");
42// TODO: Need a more general way to provide a
43// platform-specific fallback UI here.
44// For now, if we can't display the account login
45// unlock UI, just bring back the regular "Pattern" unlock mode. 46
47// (We do this by simply returning a regular UnlockScreen
48// here. This means that the user will still see the
49// regular pattern unlock UI, regardless of the value of
50// mUnlockScreenMode or whether or not we're in the
51// "permanently locked" state.)
52return createUnlockScreenFor(UnlockMode.Pattern);
53 }
54 } else if (unlockMode == UnlockMode.Password) {
55 unlockView = new PasswordUnlockScreen(
56 mContext,
58 mLockPatternUtils,
59 mUpdateMonitor,
60 mKeyguardScreenCallback);
61 } else {
62throw new IllegalArgumentException("unknown unlock mode " +
unlockMode);
63 }
64 initializeTransportControlView(unlockView);
65 initializeFaceLockAreaView(unlockView); // Only shows view if FaceLock is
enabled
66
67 mUnlockScreenMode = unlockMode;
68return unlockView;
69 }
2、createLockScreen()就是创建LockScreen界面:
[java]view plaincopyprint?
70View createLockScreen() {
71/*View lockView = new LockScreen(
72 mContext,
73 mConfiguration,
74 mLockPatternUtils,
75 mUpdateMonitor,
76 mKeyguardScreenCallback);
77 initializeTransportControlView(lockView);
78 return lockView;*/
79
80long lockscreenType = 0;
81try{
82 lockscreenType = android.provider.Settings.Secure.
83 getLong(mContext.getContentResolver(),
"lockscreen.disabled");
84 }catch(Exception e){
85 e.printStackTrace();
86 }
87 View lockView = null;
88 lockView = new LockScreen(
89 mContext,
90 mConfiguration,
91 mLockPatternUtils,
93 mKeyguardScreenCallback);
94 initializeTransportControlView(lockView);
95return lockView;
96}
我们来看看锁屏界面的流程:
step 1:创建LockScreen.java类——>先看看构造函数:
[java]view plaincopyprint?
97LockScreen(Context context, Configuration configuration, Lo ckPatternUtils lockPatternUtils,
98 KeyguardUpdateMonitor updateMonitor,
99 KeyguardScreenCallback callback) {
100super(context);
101 mLockPatternUtils = lockPatternUtils;
102 mUpdateMonitor = updateMonitor;
103 mCallback = callback;
104
105 mEnableMenuKeyInLockScreen = shouldEnableMenuKey();
106
107 mCreationOrientation = configuration.orientation;
108
109 mKeyboardHidden = configuration.hardKeyboardHidden;
110
111if (LockPatternKeyguardView.DEBUG_CONFIGURATION) {
112 Log.v(TAG, "***** CREATING LOCK SCREEN", new RuntimeException());
113 Log.v(TAG, "Cur orient=" + mCreationOrientation
114 + " res orient=" +
context.getResources().getConfiguration().orientation);
115 }
116
117final LayoutInflater inflater = LayoutInflater.from(context);
118if (DBG) Log.v(TAG, "Creation orientation = " + mCreationOrientation);
119if (mCreationOrientation != Configuration.ORIENTATION_LANDSCAPE) { 120 inflater.inflate(https://www.360docs.net/doc/be13115796.html,yout.keyguard_screen_tab_unlock, this, true);
121 } else {
122 inflater.inflate(https://www.360docs.net/doc/be13115796.html,yout.keyguard_screen_tab_unlock_land, this, true);
123 }
124
125if (TelephonyManager.getDefault().isMultiSimEnabled()) {
126 mStatusViewManager = new MSimKeyguardStatusViewManager(this, mUpdateMonitor,
127 mLockPatternUtils, mCallback, false);
128 } else {
129 mStatusViewManager = new KeyguardStatusViewManager(this, mUpdateMonitor,
130 mLockPatternUtils, mCallback, false);
131 }
132
133 setFocusable(true);
134 setFocusableInTouchMode(true);
135 setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
136
137 mAudioManager = (AudioManager)
mContext.getSystemService(Context.AUDIO_SERVICE);
138// modify by wangxianming in 2012-06-22
139if (mAudioManager != null) {
140 mSilentMode = isSilentMode();
141 }
142
143 mUnlockWidget = findViewById(R.id.unlock_widget);
144if (mUnlockWidget instanceof SlidingTab) {
145 SlidingTab slidingTabView = (SlidingTab) mUnlockWidget;
146 slidingTabView.setHoldAfterTrigger(true, false);
147 slidingTabView.setLeftHintText(R.string.lockscreen_unlock_label); 148 slidingTabView.setLeftTabResources(
149 R.drawable.ic_jog_dial_unlock,
150 R.drawable.jog_tab_target_green,
151 R.drawable.jog_tab_bar_left_unlock,
152 R.drawable.jog_tab_left_unlock);
153 SlidingTabMethods slidingTabMethods = new
SlidingTabMethods(slidingTabView);
154 slidingTabView.setOnTriggerListener(slidingTabMethods);
155 mUnlockWidgetMethods = slidingTabMethods;
156 } else if (mUnlockWidget instanceof WaveView) {
157 WaveView waveView = (WaveView) mUnlockWidget;
158 WaveViewMethods waveViewMethods = new WaveViewMethods(waveView); 159 waveView.setOnTriggerListener(waveViewMethods);
160 mUnlockWidgetMethods = waveViewMethods;
161 } else if (mUnlockWidget instanceof MultiWaveView) {
162 MultiWaveView multiWaveView = (MultiWaveView) mUnlockWidget;
163 MultiWaveViewMethods multiWaveViewMethods = new MultiWaveViewMethods(multiWaveView);
164 multiWaveView.setOnTriggerListener(multiWaveViewMethods);
165 mUnlockWidgetMethods = multiWaveViewMethods;
166 } else {
167throw new IllegalStateException("Unrecognized unlock widget: " + mUnlockWidget);
168 }
169
170// Update widget with initial ring state
171 mUnlockWidgetMethods.updateResources();
172
173if (DBG) Log.v(TAG, "*** LockScreen accel is "
174 + (mUnlockWidget.isHardwareAccelerated() ? "on":"off"));
175 }
Step 2:在Step 1步骤中根据横竖屏来加载横竖屏的布局:
[java]view plaincopyprint?
176if (mCreationOrientation != Configuration.ORIENTATION_LANDSCAPE) {
177 inflater.inflate(https://www.360docs.net/doc/be13115796.html,yout.keyguard_screen_tab_unlock, this, true);
178 } else {
179 inflater.inflate(https://www.360docs.net/doc/be13115796.html,yout.keyguard_screen_tab_unlock_land, this, true);
180 }
Step 3:来看看竖屏的布局文件的代码:
[java]view plaincopyprint?
181 182 xmlns:android="https://www.360docs.net/doc/be13115796.html,/apk/res/android" 183 android:orientation="vertical" 184 android:layout_width="match_parent" 185 android:layout_height="match_parent" 186 android:gravity="center_horizontal"> 187 188 189 android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_m argin" 190 android:layout_marginBottom="12dip" 191 android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_ma rgin" 192 android:layout_gravity="right"> 193 194 196 197 android:layout_width="wrap_content" 198 android:layout_height="wrap_content" 199 android:singleLine="true" 200 android:ellipsize="none" 201 android:textSize="@dimen/keyguard_lockscreen_clock_font_size" 202 android:textAppearance="?android:attr/textAppearanceMedium" 203 android:layout_marginBottom="6dip" 204 android:textColor="@color/lockscreen_clock_background" 205 /> 206 207 208 android:layout_width="wrap_content" 209 android:layout_height="wrap_content" 210 android:singleLine="true" 211 android:ellipsize="none" 212 android:textSize="@dimen/keyguard_lockscreen_clock_font_size" 213 android:textAppearance="?android:attr/textAppearanceMedium" 214 android:layout_marginBottom="6dip" 215 android:textColor="@color/lockscreen_clock_foreground" 216 android:layout_alignLeft="@id/timeDisplayBackground" 217 android:layout_alignTop="@id/timeDisplayBackground" 218 /> 219 220 221 222 223 android:orientation="horizontal" 224 android:layout_gravity="right" 225 android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_ma rgin"> 226 227 228 android:id="@+id/date" 229 android:layout_width="wrap_content" 230 android:layout_height="wrap_content" 231 android:singleLine="true" 232 android:ellipsize="marquee" 233 android:textAppearance="?android:attr/textAppearanceMedium" 234 android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" 235 /> 236 237 238 android:id="@+id/alarm_status" 239 android:layout_width="wrap_content" 240 android:layout_height="wrap_content" 241 android:layout_marginLeft="16dip" 242 android:singleLine="true" 243 android:ellipsize="marquee" 244 android:textAppearance="?android:attr/textAppearanceMedium" 245 android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" 246 android:drawablePadding="4dip" 247 /> 248 249 250 251 252 android:id="@+id/status1" 253 android:layout_gravity="right" 254 android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_ma rgin" 255 android:singleLine="true" 256 android:ellipsize="marquee" 257 android:textAppearance="?android:attr/textAppearanceMedium" 258 android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" 259 android:drawablePadding="4dip" 260 /> 261 262 263 264 android:layout_width="match_parent" 265 android:layout_height="302dip"> 266 267 268 android:id="@+id/unlock_widget" 269 android:orientation="horizontal" 270 android:layout_width="match_parent" 271 android:layout_height="match_parent" 272 android:layout_alignParentBottom="true" 273 274 android:targetDrawables="@array/lockscreen_targets_with_camera" 275 android:targetDescriptions="@array/lockscreen_target_descriptions_with_camera" 276 android:directionDescriptions="@array/lockscreen_direction_descriptions" 277 android:handleDrawable="@drawable/ic_lockscreen_handle" 278 android:waveDrawable="@drawable/ic_lockscreen_outerring" 279 android:outerRadius="@dimen/multiwaveview_target_placement_radius" 280 android:snapMargin="@dimen/multiwaveview_snap_margin" 281 android:hitRadius="@dimen/multiwaveview_hit_radius" 282 android:rightChevronDrawable="@drawable/ic_lockscreen_chevron_right" 283 android:horizontalOffset="0dip" 284 android:verticalOffset="60dip" 285 android:feedbackCount="3" 286 android:vibrationDuration="20" 287 /> 288 289 290 android:id="@+id/carrier" 291 android:layout_width="fill_parent" 292 android:layout_height="wrap_content" 293 android:layout_alignParentBottom="true" 294 android:layout_marginBottom="12dip" 295 android:gravity="center_horizontal" 296 android:singleLine="true" 297 android:ellipsize="marquee" 298 android:textAppearance="?android:attr/textAppearanceMedium" 299 android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" 300 android:textColor="?android:attr/textColorSecondary" 301 /> 302 303 304 305 306 android:orientation="horizontal" 307 android:layout_width="match_parent" 308 style="?android:attr/buttonBarStyle" 309 android:gravity="center" 310 android:weightSum="2"> 311 312 326 327
Step 4:在Step 3中重点看
com.android.internal.widget.multiwaveview.MultiWaveView这个自定义的view,这个view是处理ICS4.0锁屏的拖拽的功能,具体代码如下:
[java]view plaincopyprint?
328public MultiWaveView(Context context, AttributeSet attrs) {
329super(context, attrs);
330 Resources res = context.getResources();
331。。。。。。
332加载资源
333。。。。。。
334}
通过onMeasure()来计算自定义view的大小:
[java]view plaincopyprint?
335protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
336final int minimumWidth = getSuggestedMinimumWidth();
337final int minimumHeight = getSuggestedMinimumHeight();
338int viewWidth = resolveMeasured(widthMeasureSpec, minimumWidth);
339int viewHeight = resolveMeasured(heightMeasureSpec, minimumHeight);
340 setMeasuredDimension(viewWidth, viewHeight);
341 }
通过onLayout()来加载布局:
[java]view plaincopyprint?
342protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
343super.onLayout(changed, left, top, right, bottom);
344final int width = right - left;
345final int height = bottom - top;
346float newWaveCenterX = mHorizontalOffset + Math.max(width,
mOuterRing.getWidth() ) / 2;
347float newWaveCenterY = mVerticalOffset + Math.max(height,
mOuterRing.getHeight()) / 2;
348if (newWaveCenterX != mWaveCenterX || newWaveCenterY != mWaveCenterY) { 349if (mWaveCenterX == 0 && mWaveCenterY == 0) {
350 performInitialLayout(newWaveCenterX, newWaveCenterY);
351 }
352 mWaveCenterX = newWaveCenterX;
353 mWaveCenterY = newWaveCenterY;
354
355 mOuterRing.setX(mWaveCenterX);
356 mOuterRing.setY(Math.max(mWaveCenterY, mWaveCenterY));
357
358 updateTargetPositions();
359 }
360if (DEBUG) dump();
361 }
Step 5:来看看触摸屏幕时的事件处理onTouchEvent()代码如下:
[java]view plaincopyprint?
362@Override
363public boolean onTouchEvent(MotionEvent event) {
364final int action = event.getAction();
365
366boolean handled = false;
367switch (action) {
368case MotionEvent.ACTION_DOWN:
369 handleDown(event);
370 handled = true;
371break;
372
373case MotionEvent.ACTION_MOVE:
374 handleMove(event);
375 handled = true;
376break;
377
378case MotionEvent.ACTION_UP:
379 handleMove(event);
380 handleUp(event);
381 handled = true;
382break;
383
384case MotionEvent.ACTION_CANCEL:
385 handleMove(event);
386 handled = true;
387break;
388 }
389 invalidate();
390return handled ? true : super.onTouchEvent(event);
391 }
通过handleMove()来处理移动事件:
[java]view plaincopyprint?
392private void handleMove(MotionEvent event) {
393if (!mDragging) {
394 trySwitchToFirstTouchState(event);
395return;
396 }
397
398int activeTarget = -1;
399final int historySize = event.getHistorySize();
400for (int k = 0; k < historySize + 1; k++) {
401float x = k < historySize ? event.getHistoricalX(k) : event.getX(); 402float y = k < historySize ? event.getHistoricalY(k) : event.getY(); 403float tx = x - mWaveCenterX;
404float ty = y - mWaveCenterY;
405float touchRadius = (float) Math.sqrt(dist2(tx, ty));
406final float scale = touchRadius > mOuterRadius ? mOuterRadius / touchRadius : 1.0f;
407float limitX = mWaveCenterX + tx * scale;
408float limitY = mWaveCenterY + ty * scale;
409
410boolean singleTarget = mTargetDrawables.size() == 1;
411if (singleTarget) {
412// Snap to outer ring if there's only one target
413float snapRadius = mOuterRadius - mSnapMargin;
414if (touchRadius > snapRadius) {
415 activeTarget = 0;
416 x = limitX;
417 y = limitY;
418 }
419 } else {
420// If there's more than one target, snap to the closest one less than hitRadius away.
421float best = Float.MAX_VALUE;
422final float hitRadius2 = mHitRadius * mHitRadius;
423for (int i = 0; i < mTargetDrawables.size(); i++) {
424// Snap to the first target in range
425 TargetDrawable target = mTargetDrawables.get(i);
426float dx = limitX - target.getX();
427float dy = limitY - target.getY();
428float dist2 = dx*dx + dy*dy;
429if(target.isValid() && dist2 < hitRadius2 && dist2 < best) { 430 activeTarget = i;
431 best = dist2;
432 }
433 }
434 x = limitX;
435 y = limitY;
436 }
437if (activeTarget != -1) {
438 switchToState(STATE_SNAP, x,y);
439float newX = singleTarget ? limitX :
mTargetDrawables.get(activeTarget).getX();
440float newY = singleTarget ? limitY :
mTargetDrawables.get(activeTarget).getY();
441 moveHandleTo(newX, newY, false);
442 TargetDrawable currentTarget =
mTargetDrawables.get(activeTarget);
443if (currentTarget.hasState(TargetDrawable.STATE_FOCUSED)) { 444 currentTarget.setState(TargetDrawable.STATE_FOCUSED);
445 mHandleDrawable.setAlpha(0.0f);
446 }
447 } else {
448 switchToState(STATE_TRACKING, x, y);
449 moveHandleTo(x, y, false);
450 mHandleDrawable.setAlpha(1.0f);
451 }
452 }
453
454// Draw handle outside parent's bounds
455 invalidateGlobalRegion(mHandleDrawable);
456
457if (mActiveTarget != activeTarget && activeTarget != -1) {
458 dispatchGrabbedEvent(activeTarget);
459if (AccessibilityManager.getInstance(mContext).isEnabled()) { 460 String targetContentDescription =
getTargetDescription(activeTarget);
461 announceText(targetContentDescription);
462 }
463 }
464 mActiveTarget = activeTarget;
465 }
以上主要工作是绘制拖拽的参数以及绘制出来。通过invalidate()来主动刷屏幕;
在onDraw()方法中实现绘制图形,代码如下:
[java]view plaincopyprint?
466@Override
467protected void onDraw(Canvas canvas) {
468 mOuterRing.draw(canvas);
469for (TargetDrawable target : mTargetDrawables) {
470if (target != null) {
471 target.draw(canvas);
472 }
473 }
474for (TargetDrawable target : mChevronDrawables) {
475if (target != null) {
476 target.draw(canvas);
477 }
478 }
479 mHandleDrawable.draw(canvas);
480}
在handleMove()方法中
——>trySwitchToFirstTouchState(event);——>switchToState()——>doFinish();
——>setGrabbedState() ————>
mOnTriggerListener.onGrabbedStateChange(this, mGrabbedState);
设置回调。
Step 6:LockScreen.java中有个内部类,监听这个移动事件的状态,——> 代码如下:
[java]view plaincopyprint?
481class MultiWaveViewMethods implements MultiWaveView.OnTriggerListener,
482 UnlockWidgetCommonMethods {
483
484private final MultiWaveView mMultiWaveView;
485private boolean mCameraDisabled;
486
487 MultiWaveViewMethods(MultiWaveView multiWaveView) {
488 mMultiWaveView = multiWaveView;
489final boolean cameraDisabled =
mLockPatternUtils.getDevicePolicyManager()
490 .getCameraDisabled(null);
491if (cameraDisabled) {
492 Log.v(TAG, "Camera disabled by Device Policy");
493 mCameraDisabled = true;
494 } else {
495// Camera is enabled if resource is initially defined for
MultiWaveView
496// in the lockscreen layout file
497 mCameraDisabled = mMultiWaveView.getTargetResourceId()
498 != R.array.lockscreen_targets_with_camera;
499 }
500 }
501
502public void updateResources() {
503int resId;
504if (mCameraDisabled) {
505// Fall back to showing ring/silence if camera is disabled by DPM... 506 resId = mSilentMode ? R.array.lockscreen_targets_when_silent 507 : R.array.lockscreen_targets_when_soundon;
508 } else {
509 resId = R.array.lockscreen_targets_with_camera;
510 }
511 mMultiWaveView.setTargetResources(resId);
512 }
513
514public void onGrabbed(View v, int handle) {
515
516 }
517
518public void onReleased(View v, int handle) {
519
520 }
521
522public void onTrigger(View v, int target) {
523if (target == 0 || target == 1) { // 0 = unlock/portrait, 1 = unlock/landscape
524 mCallback.goToUnlockScreen();
525 } else if (target == 2 || target == 3) { // 2 = alt/portrait, 3 = alt/landscape
526if (!mCameraDisabled) {
527// Start the Camera
528 Intent intent = new
Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
529 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
530 mContext.startActivity(intent);
531 mCallback.goToUnlockScreen();
532 } else {
533 toggleRingMode();
534 mUnlockWidgetMethods.updateResources();
535 mCallback.pokeWakelock();
536 }
537 }
538 }
539
540public void onGrabbedStateChange(View v, int handle) {
541// Don't poke the wake lock when returning to a state where the handle is
542// not grabbed since that can happen when the system (instead of the user)
543// cancels the grab.
544if (handle != MultiWaveView.OnTriggerListener.NO_HANDLE) {
545 mCallback.pokeWakelock();
546 }
547 }
548
549public View getView() {
550return mMultiWaveView;
551 }
552
553public void reset(boolean animate) {
554 mMultiWaveView.reset(animate);
555 }
556
557public void ping() {
558 mMultiWaveView.ping();
559 }
560 }
重点看public void onTrigger()这个方法,用于处理拖拽启动那个activity,一个启动camera,一个正常解锁。
制作MIUI主题
主题教程 (2.10.30) 一、MIUI主题 首先,我们手机的UI是由很多部分组成的,如锁屏、通知栏、桌面壁纸、图标等等。如果我们把手机比喻成一个房子,上述的部分可想象成房子的门、窗、地板、吊灯、座椅等。那我们可以认为原生的android系统就是一个毛坯房,MIUI是在这之上的一个简装,自定义主题就是你自己给房子做的装修。 MIUI提供主题自定义功能,其实就相当于帮你请了一个工程队,你可以用从众多装修方案(主题包)中选择自己喜欢的效果,最后交给工程队实施。而装修方案可大可小,大至全屋翻新,小到只换一盏灯。目前MIUI会自带两个主题包,达人们也可以设计自己的主题包,大家就可以借用达人们共享出来的设计。 二、准备工作 1.主题测试机器 工欲善其事必先利其器,做题之前首先得有一部能刷MIUI的手机作为测试机。MIUI现有支持v4的机型分成按分辨率,可分成两类480p(480*854和480*800)与720p(720*1280),分辨率对以后的主题制作有这影响,见后面详述。 480p的机子有: 小米手机1/1S (自带MIUI)、HTC Desire S、HTC Incredible S、Samsung I9100、华为 Honor、索爱 LT18i 、Google Nexus S 720P的机子有: 小米手机2(自带MIUI)、Google Galaxy Nexus、Galaxy S III I9300、Google Galaxy Nexus、华为Ascend D1、索尼LT26i、HTC One X、LG LU6200 附上刷机教程连接https://www.360docs.net/doc/be13115796.html,/download.html 注意:在针对新版主题客户端的测试方案上线之前,主题制作者只能在2.10.26开发版或之前版本进行测试 2.设计界面 制作主题之前可先根据官方提供的主题界面模板,对主题界面进行设计,然后再进行切图,将设计稿切片,分成各个小部分,用与主题制作。 3.主题制作软件的安装 官方主题工具:https://www.360docs.net/doc/be13115796.html,/thread-642823-1-1.html 使用此工具需要java环境的支持,未安装的同学请下载: https://www.360docs.net/doc/be13115796.html,/themeeditor/jre6_2.8.3_aajfe.zip 解压得jre6文件夹,将其放到到MIUIThemeEditor目录下(图1所示)。
安卓锁屏密码忘了6种解决方法总结
安卓锁屏密码忘了6种解决方法总结 第一种方法:用别人的手机打你的电话,然后手机就会进入系统,再进设置里去掉自动锁屏。当提示输入gmail密码的时候填写:“null”(补充说明,适用部分机子,跟ROM关系也很大,成功率不保证) ========================= 第二种方法:恢复出厂值,(前提是刷了recovery!) 操作步骤如下: 1.关闭手机 2.按“HOME“+开机键进入RECOVERY 3.进入WIPE选项 4.选择恢复出厂值wipe data/factory res 5.重启手机 ========================= 第三种方法:电脑端连接卓大师,(前提是你的手机开启了USB调试),等安装好驱动,打开卓大师工具箱,里面有清除锁屏密码选项,进去等待重启 ========================= 第四种方法:重新刷机(你可以只刷入Recovery,然后使用第二种方法,或者干脆整个系统重刷) ========================= 第五种方法:手机重启过程中按音量键加或者音量键和开机键不放(一些国产安卓适用)进去想办法清除锁屏密码,可以用卓大师清除 ========================= 第六种方法:教大家用ADB来删除密码: 1.手机连接电脑,在充电模式下进行。 2.下载ADB.rar解压到C盘根目录。
3.点击电脑开始>运行>输入cmd>再就进cmd 依次输入命令: 01.cd c:\adb 02.adb shell 03.cd data/system 04.ls 可以看到有一个pass*.key和一个gesture.key的文件,这个就是密码的文件,我们就是把这个给删除就可以了! 最后输入命令: rm pass*.key(如果是PIN解锁就这个) 或者rm gesture.key(如果是手势解锁就这个) 输入reboot或手动重启手机生效。(其实,不用重启也可以的了,直接解锁,密码怎么滑都对,最好还是重启一下.)
小米主题制作教程
一、MIUI主题定义 首先,我们手机的UI是由很多部分组成的,如锁屏、通知栏、桌面壁纸、图标等等。如果我们把手机比喻成一个房子,上述的部分可想象成房子的门、窗、地板、吊灯、座椅等。那我们可以认为原生的android系统就是一个毛坯房,MIUI是在这之上的一个简装,自定义主题就是你自己给房子做的装修。 MIUI提供主题自定义功能,其实就相当于帮你请了一个工程队,你可以用从众多装修方案(主题包)中选择自己喜欢的效果,最后交给工程队实施。而装修方案可大可小,大至全屋翻新,小到只换一盏灯。目前MIUI会自带两个主题包,达人们也可以设计自己的主题包,大家就可以借用达人们共享出来的设计。(引用foxtail,很经典的说明) 二、MIUI主题模板内文件说明 首先,咱们要需要一个模板来对应说明,解压后你会发现它并不是我们熟悉的后缀,而是一个MTZ后缀的文件,不用急咱们把它重命名为即:将原来的.mtz后缀改为.zip,然后解压即可显现原型如下图: 具备以上几个文件就可以做一个简单的MIUI主题了,下面我们对以上目录做一个中文说明: (主题配置文件包括:主题作者、版本号信息)icons (桌面图标,所有被改动的桌面图标都会放在这个文件夹内)lockscreen (锁屏样式)preview (应用主题时预览图)wallpaper(存放锁屏、桌面壁纸)(启动器) 注:如果您在在线主题内下载主题,重命名为.zip解压后您会发现很多目录都成了无法识别的文件例如文件夹icons变成了icons文件无法打开,简单处理方法:重命名为解压后就能看到里面文件了。 三、MIUI主题包具体制作说明
1.描述文件制作说明
安卓锁屏密码忘了5种解决方法
安卓锁屏密码忘了5种解决方法 第一种方法: 用别人的手机打你的电话,然后手机就会进入系统,再进设置里去掉自动锁屏。当提示输入gmail密码的时候填写: null (补充说明,适用部分机子,跟ROM关系也很大,成功率不保证哦) 第二种方法: 教大家用ADB来删除密码: 1、手机连接电脑,在充电模式下进行。 2、去百度搜索下载ADB.rar 解压到C盘根目录。 3、点击电脑开始>运行>输入cmd>再就进cmd 依次输入命令 01.cd c:\adb 02.adb shell 03.cd data/system 04.ls 可以看到有一个pass*.key和一个gesture.key的文件,这个就是密码的文件,我们就是把这个给删除就可以了!最后输入命令: rm pass*.key(如果是PIN解锁就这个)或者rm gesture.key(如果是手势解锁就这个)输入reboot或手动重启手机生效。(其实,不用重启也可以的了,直接解锁,密码怎么滑都对,最好还是重启一下) 第三种方法: 恢复出厂值。操作前注意重要数据要备份哦!(操作步骤如下: 1.关闭手机 2.按音量上开机键进入rec模式 3.选择恢复出厂值wipe data/factory res 4.重启手机 第四种方法: 电脑端连接卓大师,(前提是你的手机开启了USB调试),等安装好驱动,打开卓大师工具箱,里面有清除锁屏密码选项,进去等待重启。 第五种方法: 操作前注意重要数据要备份哦! 重新刷机(你可以只刷入Recovery,然后使用第二种方法,或者干脆整个系统重刷) 手机重启过程中按音量键加或者音量键和开机键不放(一些国产安卓适用)进去双wipe, 则可以清除锁屏密码,可以用卓大师清除。 作者:admin
MIUI ROM制作教程——认识Android手机
MIUI ROM适配之旅第一天——认识Android手机 写这篇文章时想起我的第一部Android手机HTC Hero。买回来后,同事告诉我可以去刷机玩玩。刷机,怎么刷?同事说,你个土人,刷机都不知道,很多刷机论坛的,你去逛逛,挺简单的。我去逛了逛机锋论坛(那时还不知道MIUI),打开一看,什么recovery, radio, root 各种词汇扑面而来,oh my lady gaga,这么复杂。但是为了不被鄙视,而且闲着也是闲着,还是刷着玩玩吧。后来就结识MIUI来到了小米。这是题外话,咱们言归正传。 在这纷纷扰扰的Android世界里,如何找到那条刷机大道呢,或许它只是个传说,我们只是一直在探索。让我们从零开始来看一看,看能发现点什么。 1. bootloader 当我们拿到一款手机,第一件事应该就是按下电源键开机,那么从开机到进入到桌面程序这中间发生了些什么呢,我们从下面这张简化了的手机结构图开始: 注意:该结构图并不反映手机的实际分区顺序和位置,只是一个逻辑结构图。 大家可以简单的把手机的ROM存储类比为我们电脑上的硬盘,这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。后面我们会逐渐介绍各个分区的用途。所谓的刷机我们可以简单的理解成把软件安装在手机的某些分区中,类似于我们在电脑上安装Windows系统。 当按下电源键手机上电启动后,首先从bootloader分区中一个固定的地址开始执行指令,如图所示,bootloader分区分成两个部分,分别叫做primary bootloader和secondary stage bootloader。Primary bootloader主要执行硬件检测,确保硬件能正常工作后将secondary stage bootloader拷贝到内存(RAM)开始执行。Secondary stage bootloader 会进行一些硬件初始化工作,获取内存大小信息等,然后根据用户的按键进入到某种启动模
手机密码万能解锁大全
发信人: yuzhongtao (VCD), 信区: Digital 标题: 真正的手机密码万能解锁大全 发信站: 吉林大学牡丹园站(Sun May 14 22:06:18 2006) [楼主]: 手机一旦设的密码忘记了怎么办?很多人到手机修理的地方或者厂方去解锁,往往收取不菲的费用,其实很多手机只要自己输入解锁码就可以了。以下收集整理的满全了应该。 一、各种品牌手机中英文对照 Acer::宏基AIWA:爱华alcatel(ALC):阿尔卡特 AMOI:夏新APBW:亚太APPLE:苹果 Arcoa:全虹ASUS:华硕AUX:奥克斯 BenQ:明基Benten:巨腾BIRD(BRD):波导 BOSCH:博士(博世)BOSS:宝石 Capitel:首信CASIO:卡西欧CECT(CEC):中电通讯 CHABRIDGE:中桥CHASE:采星COSUN:侨兴 DAEWOO:大宇DATANG:大唐DAXIAN:大显 DBTEL:迪比特DENSO:电送DNET:迪奈特 DOEASY:多易随DOCOMO :多科莫dopod:多普达 DRAGON:东方龙EASTCOM(ETCM):东信EMOL:易美 Ericsson:爱立信fuli:富利 GALAXY:银河Gionee:金立Giya:基雅 GPLUS:积加Great:伟松GSL:权智(快译通) Gstar::吉事达GVC:致福Hagenuk:汉佳诺 Haier(HAR):海尔Hisense:海信Hitachi:日立 Hutel:秀特尔HYUNDAI:现代Innostream:盈讯 JPG:金鹏JRC:日本无线 KEJIAN(KJN):科健Kenwood:建伍KGT:和信 Konka(KON):康佳KPT:先进电讯KYOCERA(KYEA):京瓷 LENOVO:联想LUCENT:朗讯Lucky Star:吉星 Malata:万利达Maxon:美晨MiTAC:神达 MITSUBISHI(Trium):三菱Motorola:摩托罗拉 NEC:日本电气NETT:雷特nintaus:金正 Nixxo:尼索NOKIA(NKI):诺基亚NOPO:星辰 OKWAP:英资达OMRON:欧姆龙 PALMAX:帕玛斯(仁宝) Panasonnic:松下Panda:熊猫 PENESAS:天马Philips:飞利浦Photal:丰达 PUTAN:普天Qualcomm:高通ROWA:乐华 Sagem萨基姆Sanyo:三洋SAMSUNG:三星 SED:桑达Sendo:仙都SEWON:星王 SHARP:夏普Siemens:西门子SkyNet:斯加耐特 Soutec:南方高科SONY:索尼SOBAO:搜豹
安卓手机忘记锁屏图案或密码
手机被锁了,怎么办??? 好多童鞋都在系统里设置了密码保护,有时候被第二者在不知情的情况下输了N多遍密码或图案,又或者自己忘记了密码(当然,这是很少人会自身忘记的)。 很多人都知道:由于小米MIUI 系统有个“权限管理”,因 此小米手机需要在未忘记密码前运行一次ADB允许adb获取root权限, 并勾选以后不再询问选项。(否则ADB没有获得root权限是无法删除密码文件的) 一、小米手机不用刷机破解屏锁密码的方法 忘记密码时的手机状态: 1、没有设置同步GOOGLE账号; 2、锁定后拔入电话使用“房子”菜单键无法返回主界面; 3、错误解锁N次都不会出现忘记解锁”图形按钮; 解决方法: 1、下载“豌豆荚手机精灵” 安装到电脑; 2、打开“小米”并连接USB数据线至电脑; 3、安装小米手机USB驱动; 4、打开“豌豆荚手机精灵” ; 5、点选菜单栏里的“应用游戏” ,再点“左边” 的“系统应 用” ,可以看到中间出现了手机默认装有的一些程序;
6、滚动条到最顶部,点选定“ An droid系统”,再点击上部的“卸载”; 7、此时手机端会有程序要获取手机ROOT(最高权限)的提示,按提示点“返回”; &手机返回到“豌豆荚守护精灵”的绿色背景画面时,点“关闭USB 模式”。拔掉数据线; 9、此时手机会跳过“图形解锁”回到桌面; 10、点手机端的“设置”-“个人”-“账户和同步”-“添加账号”,输入一个GOOLG账号(没有的话在电脑上注册个),等待同步完成。 11、关闭手机重启,随便尝试输错误解锁图形5次后便会出现“忘记解锁”的图形按钮; 12、点击“忘记解锁”图形按钮,输入第10步那里的GOOGL账号和密码,之后便可以重新设置新的解锁图形了。 二、用豌豆荚备份数据,清除数据,重启到最近的系统 用"豌豆荚”备份数据,然后重启,在开机的时候按住音量+和开机键,进入recovery,清空数据——清空所有数据——重启到最近的系统即可。 注意:如果不备份,将会清除所有数据,联系人和应用程序等(sd卡除外) 欢迎下载2
华为手机屏幕解锁密码给忘了两招轻松解决
华为手机屏幕解锁密码给忘了两招轻松解决 集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-
华为手机屏幕解锁密码给忘了,两招轻松解决 如今,我们在使用智能手机的时候会给手机设置锁屏密码,这样会保护我们的隐私、数据安全等,但有些手机用户会粗心的把手机锁屏密码给忘记或者记错,这就尴尬了,让你进不了手机系统,下面小编介绍两种方法,轻松解开那些忘记锁屏密码的手机。这里的第二种方法可能大家还知道,但第一种方法小编敢肯定没几个人知道。1、手机绝处才能逢生这里假设华为手机用户先前已经在手机上登录了自己的华为账号,并且也开启了“手机找回”的功能。如果这里的假设成立,那么解锁屏幕密码就可以实现,在电脑上登录华为云服务(使用与手机上一样的账号),点击“手机找回”,这里会再次要求你输入账号密码,接下来选择好手机设备型号,就能直接定位到你的手机,我们点击“锁定设备”,设置好6位解锁密码,再次输入华为账号密码确认,这样手机就锁定成功了,这时我们可以直接在手机上输入你刚才设置的6位数字密码即可成功解锁手机了。这一种方法不会对手机上的任何数据造成损坏,堪称解锁屏幕密码的完美方法,有的时候真的是绝处才能逢生。2、手机原地复活这一种方法是利用手机的恢复出厂设置实现的,长按手机电源键关机,完全关机再等几秒后同时按住“音量加键”和“电源键”直到看到华为图案再松开,这样就能进入手机的Recovery模式了,我们选择“恢复出厂设置”并使用“电源键”来确定,等待恢复出厂设置,完成后重启手机就又像新手机一样了。这种方法是可以解决锁屏密码的问题,但也一并把手机上所有的数据都给清除掉了,万一没有备份那就悲催了,所以这种方法会但不一定用。这两种方法小编优先推荐使用第一种,可以在不清除数据的前提下解锁屏幕密码,后面这种方法在没得选择的时候再用,高招与低招相互搭配,任何情况都可以解决。
手机解锁密码大全,不用再去手机店了
手机解锁密码大全,不用再去手机店了手机解锁密码大全,不用再去手机店了 手机密码锁机的朋友不用再去营业厅解锁,自己就可以搞定解话机锁:*2767*2878#/*2767*7377# 三星码片复位:*2767*3855# 也可用于解机锁或卡锁 三星显温度、电池容量:*#0228# 三星调显示屏对比度:*#0523# 三星软件版本:*#9999# 三星A100-A188看版本:*#0837# 摩托罗拉T2688解所有锁:19980722 T2688/2988/988d没有中文:*#0000# OK(插卡) 摩托罗拉所有机锁:按MENU+5+1/2 西门子恢复出厂设置:*#9999# 西门子乱文回中文:*#0000#/*#0086# 西门子软件版本:*#06# 左键 爱立信老机回英语:*#0000# 爱立信新机回英语:按CLR-左键-0000-右键 爱立信显出厂*期:右、*、左、左、*、左、*键 诺基亚显出厂*期:*#0000#(插卡) 诺基亚省30%电:*#746025625#
飞利浦强迫重连网:*#2562*# 飞利浦显示和更改手机密码:*#7489*# 博世(BOSCH)909S回中文:*#0852# 博世(BOSCH)909s回英文:*#0851# NEC显软件版本:*#2820# NEC恢复原厂设置:*#73738# 波导s1000隐藏功能:*#*#1705# 波导s1000解锁:*#*#1705#46(也用于999D,720) 如死机再用---24681357(或直接就用它解) 波导8xx/9xx系列:*#+串号7-14位# SIM卡波导串号最后9位去掉最后一位 阿尔卡特OT221/220解锁:25228352/ALCATEL+D 阿尔卡特OT301/302解锁:83227423 阿尔卡特OT500/700解锁:25228352 康佳:*#0001# *#1001# ##1001# 康佳小雪5219:#8879576# 原始:1234 GVC:*#1001* (海尔) 南方高科320开机键入##1001#,然后装上卡输入0000 OK 三菱NET LOCK:*787090或*787292 三菱IMSI LOCK:*362628或*360608 三菱NETSUB LOCK:*476989 三菱CP LOCK:*482896或*480896
小米手机忘记锁屏密码的解决办法
小米手机忘记锁屏密码的解决办法(四种方案) 我们需要有锁屏密码来保护我们的隐私,很多时候都会忘记密码的,有时候自然的遗忘,有时候给朋友或者小孩糊弄一通的将自己的密码设置了,结果悲剧发生了……下面就为您介绍几种解决办法 适用范围:小米手机全系列机型小米1、小米1s、小米2 方案一:在电脑端访问https://www.360docs.net/doc/be13115796.html,,找回手机--锁定手机--输入新密码--锁定手机,之后在手机端输入刚才设定的密码,即可完成解锁(前提开了找回手机功能)。
方案二:使用小米账号或者谷歌账号解锁(前提需绑定了小米账户或谷歌账户,并且手机处于联网状态。) 当你连续五六次输入密码错误后,就会提示下图: 直接点击“忘记密码”,之后选择账户(小米账户或者google账户)并输入密码,登陆即可完成解锁。 方案三:如果之前有打开未知来源和USB调解模式,你可以连接电脑通过91手机助手或者豌豆荚之类的软件来进行备份资料然后清除所有数据。如果你之前没有打开USB调解模式那么告诉你个很不幸的消息:你所有的资料都
会丢失(实在不想丢失资料的话,可以通过方案四来解决,前提是你手机开启 了USB调试)。清除所有资料的方式:关机,进入小米手机的recovery模式(注意:小米1/1s和小米2进recovery的操作有区别),清除所有数据,然后重新启动手机,不需要密码了。 方案四:连接电脑,下载附件里的ADB压缩包,把它解压到C盘根目录下,然后打开"运行"输入"CMD",此时弹出指令窗 依次输入下列粉色字体的指令 cd c:adb adb root
(提示:第一次输入adb root的时候并不会出现“adbd is already running as root”但是手机有了反应,这个时候要再次输入adb root才会出现下图情况) adb shell rm /data/system/gesture.key 进行到此步骤算是大功告成,可你看着锁屏依旧没有改变,不要慌!随便点一下解锁就进去了。 下载附件注:鼠标点击即可“保存”下载,不支持下载工具 ADB.rar(大小:1240k,下载次数:55) 时间:2013-03-06 标签:解决、小米手机
安卓手机忘记锁屏密码解决办法大全
安卓手机忘记锁屏密码解决 办法大全 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
安卓手机忘记锁屏密码解决办法大全 有的时候就是那么健忘对不对,有可能输了几百次的密码,突然就不记得了。下面就来给大家介绍几种解锁的办法: 1.Google账号解锁(推荐,不掉资料) 前提条件:被锁机器之前设置、登录了google账号,账号密码已知,且手机可以联网。 1、随意5次输入密码,系统提示5次输入错误,30S后重试; 2、此时解锁界面下方会提示“忘记密码”,点击输入之前设置过的Google账号和密码即可立即解锁。 2.清空数据解锁 优点:无任何限制条件,适用于没有重要资料的用户。 1、关机状态下同时按住开机键+音量加键,进入recovery。 2、依次选择简体中文-清空数据-清空用户数据,重启进入系统,此操作信息,电话本等手机上的用户数据会被删掉,内存卡上的资料可以保存。
3.使用刷机大师解锁 使用刷机大师的清楚锁屏密码功能进行解锁,前提是手机之前已经root并且usb调试模式处于打开状态。 4.ADB解锁 前提条件:USB调试模式为打开状态(MIUI系统默认打开) 1、手机连接电脑,确定已安装ADB驱动(方法:),解压ADB工具包至C盘 2、打开cmd输入 cd c:\adb(打开adb所在目录) 3、接着输入adb shell 4、继续输入cd data\system 5、输入ls查看data\system中的文件,如果设置了密码会有gesture.key或者 password.key 6、若设置的是图案密码请继续输入命令:rm gesture.key,若设置的是单纯密码请输入命 令:rm password.key 7、输入reboot命令或者手动重启手机生效,或者现在直接滑动解锁,任意密码都可解 锁,建议重启。
小米手机刷系统教程
教程 小米手机刷机可以分为:OTA无线升级;升级包本地升级;完整包本地升级;刷入其他系统ROM;其他系统下的刷机操作(非MIUI系统刷回MIUI或其他系统)。下面我将会给大家详细图解每一种刷机式。 (系统更新可以在桌面菜单中点击选择) -----------------------------------------------------------------------------------------------------------------OTA升级 每五都是小米的橙色星期五,因为小米手机开发版会迎来每一次的例行更新,修复之前的bug,新增更实用的功能。那么如进行OTA升级操作呢? 1,每五下午(特殊情况除外),小米手机会接到OTA升级通知。2,如果你比较心急,可以点击“系统更新”,会显示新版本的消息。 3,点击进入,开始下载过程,完成后,显示如下界面。4,点击“立即更新”,弹出如下对话框,点击“”开始升级“按钮。 5,升级过程大约持续45秒,升级完成后出现如下对话框。6,点击“重启进入新系统”,在新对话框中点击确定。 7,重启进入新系统,会提示您刷机成 功。 8,点击进入后可以了解本次更新的详情。--------------------------------------------------------------------------------------------------------------升级包本地升级
有时候没有无线网络,包月流量不够用,怎么办呢?没有关系,我们可以使用完整包,升级包(升级包下载请访问.xiaomi.)在本地进行升级。 1,在“系统更新”点击菜单键,显示如下窗口。2,点击“选择安装包”后在新的界面中选择您所需要升级版本的升级包。 3,在弹出的新界面中,点击“立即 更新”。 4,在对话框中点击“开始升级”,进入升级过程。5,更新过程结束后,点击重启进入新 系统。 6,确认保存未保存的数据,点击“确定”。 7,重启进入新系统,提示您刷机成功 啦! 8,点击通知,会显示本次更新的具体容。 ------------------------------------------------------------------------------------- 无线下载完整包升级 如果您多次未进行OTA升级,当您进行升级操作的时候,系统会提示无法升级,这时候您就需要用到无线下载完整包升级的功能了。 1,在“系统更新”点击菜单键,选择“下载 最新完整包”。 2,在显示的新界面中点击“下载完整包”。 3,下载过程大约5分钟,下载过程在后台进行, 不影响其他操做。 4,在新的对话界面中的点击“立即更新”。 5,在新的对话框中选择“开始升级”。6,整个升级过程大约持续2分钟,完成后点击“重启系统”。 7,确认保存未保存的数据,点击“确 定”。 8,大功告成,刷机成功,进入新系统。 --------------------------------------------------------------------------------------------------- 刷入其他系统 小米作为一款发烧友手机,当然支持的系统很广泛啦,什么原生Android,什么点心OS,当然还有广大发烧友自己DIY的ROM。那么怎么刷入这些系统呢?没关系,我来告诉你。 1,在“系统更新”点菜单键,点击“选择安2,在文件浏览界面选择您所
小米主题设计师完整教程包含分成说明
导读 主题设计 ?入门篇 ?进阶篇 ?高级篇 主题制作 ?准备工作 ?主题制作工具 ?主题包说明 ?百变锁屏教程 ?百变壁纸教程 ?百变图标教程 主题发布 ?主题自测 ?主题上传 ?主题审核 平台说明 ?主题商店简介 ?收入分成及代扣税说明 ?申请banner ?申请官方垫付制作费 ?申请主题保底费用 进行主题制作的准备工作 发表回复 制作主题前,我们需要做一些准备工作。 1.至少要配备一台分辨率为480P或720P的刷有MIUI系统的机器。(最好同时配备480P 和720P,这样也有利于你更好的适配两个分辨率,减少BUG) 2.MIUI系统必须为V5开发版,附上刷机教程链接:https://www.360docs.net/doc/be13115796.html,/download.html
3.下载PC端运行的主题编辑器:https://www.360docs.net/doc/be13115796.html,/thread-642823-1-1.html 4.下载并安装小米手机助手:https://www.360docs.net/doc/be13115796.html,/ 5.打开小米手机助手,连接手机,手机必须打开系统设置–全部设置–开发者选项–usb调试,电脑会自动安装驱动,这时就可以正常连接上主题编辑器了 主题制作工具 发表回复 安装说明: 1. 编辑器下载地址: 百度网盘地址:猛击这里 在线视频教程: 高清视频教程下载地址:猛击这里 文字教程地址:猛击这里 上个版本:猛击这里 遇到问题可以先参考主题编辑器WIKI 另外也可以参考这篇英文教程 此版本更新内容: 20130814 添加适配低分辨率的提示 提供自动适配高低分辨率功能 更新模板 替换更易用的.9编辑器 20130619 支持主题初始化助手 20130606 支持关闭完美图标 支持theme_values注释图片的直接预览
iphone锁屏密码忘了用了这个小技巧让你轻而易举的破解
i p h o n e锁屏密码忘了用了这个小技巧让你轻而易 举的破解 The latest revision on November 22, 2020
i P h o n e锁屏密码忘了,用了这个小技巧让你轻而易举的破解。iPhone刷机是有风险的,而且只能刷到最新的iOS系统(至少是没有关闭验证的系统)。除此之外,刷机耗费的时间长,用户还需要在电脑上下载相应的系统固件,一旦iTunes软件和数据线等方面出现问题,刷机过程中还有可能出现错误。本贴将介绍一下这个无风险、且能保留现有系统版本的方法,他表示,整个操作过程只需要短短几分钟就能完成,下面,我们就一起来看看吧。在开始操作之前,我们来看看可以使用本教程的一些前提条件:1.iPhone手机在忘记锁屏密码前开启了“查找我的iPhone”这项功能,这是必须条件,如果你未开启这功能的话,则必须刷机或者用电脑上的iTunes软件进行恢复。2.开启“查找我的iPhone”功能所使用的是自己的AppleID,并且你能记住自己的帐号及密码。3.拥有其它的苹果设备或者电脑。4.其它苹果设备上装有“查找iPhone”这个应用,当然,iOS9以上版本的系统是自带这个应用的。具体操作方法如下:1.用自己的或者朋友的苹果设备(比如iPhone或者iPad)打开“查找iPhone”这个应用程序。注意,这里提到的“查找iPhone”是应用程序,而不是设置中的“查找我的iPhone”这项功能。2.在“查找iPhone”这个应用程序中登录自己的AppleID,然后我们就能查看到自己的设备。接下来,我们需要选择抹掉所有数据。这一步骤中,非常重要的一点是,千万不要选择移除设备或者锁定设备。3.在抹掉数据的时候不要将iPhone关机,并保证iPhone内有SIM卡,即我们需要确保iPhone处于有网络连通的状态。4.这时候,我们会发现,忘掉锁屏密码的iPhone提示你需要重新激活手机。5.接下来,我们需要做的就是输入自己的AppleID,设置为新的iPhone即可。经过上述5个步骤,我们就
小米手机刷系统教程
教程 小米手机刷机可以分为:OTA 无线升级;升级包本地升级;完整包本地升级;刷入其他系统ROM ;其他系统下的刷机操作(非MIUI 系统刷回MIUI 或其他系统)。下面我将会给大家详细图解每一种刷机方式。 (系统更新可以在桌面菜单中点击选择) ----------------------------------------------------------------------------------------------------------------- OTA 升级 每周五都是小米的橙色星期五,因为小米手机开发版会迎来每周一次的例行更新,修复之前的bug ,新增更实用的功能。那么如何进行OTA 升级操作呢? 1,每周五下午(特殊情况除外),小米手机会接到OTA 升级通知。 2,如果你比较心急,可以点击“系统更新”,会显示新版本的消息。 3,点击进入,开始下载过程,完成后,显示如下界面。 4,点击“立即更新”,弹出如下对话框,点击“”开始升级“按钮。 5,升级过程大约持续45秒,升级完成后出现如下对话框。 6,点击“重启进入新系统”,在新对话框中点击确定。 7,重启进入新系统,会提示您刷机成功。 8,点击进入后可以了解本次更新的详情。 -------------------------------------------------------------------------------------------------------------- 升级包本地升级 有时候没有无线网络,包月流量不够用,怎么办呢?没有关系,我们可以使用完整包,升级包
华为手机屏幕解锁密码给忘了两招轻松解决
华为手机屏幕解锁密码 给忘了两招轻松解决 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#
华为手机屏幕解锁密码给忘了,两招轻松解决 如今,我们在使用智能手机的时候会给手机设置锁屏密码,这样会保护我们的隐私、数据安全等,但有些手机用户会粗心的把手机锁屏密码给忘记或者记错,这就尴尬了,让你进不了手机系统,下面小编介绍两种方法,轻松解开那些忘记锁屏密码的手机。这里的第二种方法可能大家还知道,但第一种方法小编敢肯定没几个人知道。1、手机绝处才能逢生这里假设华为手机用户先前已经在手机上登录了自己的华为账号,并且也开启了“手机找回”的功能。如果这里的假设成立,那么解锁屏幕密码就可以实现,在电脑上登录华为云服务(使用与手机上一样的账号),点击“手机找回”,这里会再次要求你输入账号密码,接下来选择好手机设备型号,就能直接定位到你的手机,我们点击“锁定设备”,设置好6位解锁密码,再次输入华为账号密码确认,这样手机就锁定成功了,这时我们可以直接在手机上输入你刚才设置的6位数字密码即可成功解锁手机了。这一种方法不会对手机上的任何数据造成损坏,堪称解锁屏幕密码的完美方法,有的时候真的是绝处才能逢生。2、手机原地复活这一种方法是利用手机的恢复出厂设置实现的,长按手机电源键关机,完全关机再等几秒后同时按住“音量加键”和“电源键”直到看到华
为图案再松开,这样就能进入手机的Recovery模式了,我们选择“恢复出厂设置”并使用“电源键”来确定,等待恢复出厂设置,完成后重启手机就又像新手机一样了。这种方法是可以解决锁屏密码的问题,但也一并把手机上所有的数据都给清除掉了,万一没有备份那就悲催了,所以这种方法会但不一定用。这两种方法小编优先推荐使用第一种,可以在不清除数据的前提下解锁屏幕密码,后面这种方法在没得选择的时候再用,高招与低招相互搭配,任何情况都可以解决。
华为手机屏幕解锁密码给忘了两招轻松解决
华为手机屏幕解锁密码给忘了两招轻松解决 The latest revision on November 22, 2020
华为手机屏幕解锁密码给忘了,两招轻松解决 如今,我们在使用智能手机的时候会给手机设置锁屏密码,这样会保护我们的隐私、数据安全等,但有些手机用户会粗心的把手机锁屏密码给忘记或者记错,这就尴尬了,让你进不了手机系统,下面小编介绍两种方法,轻松解开那些忘记锁屏密码的手机。这里的第二种方法可能大家还知道,但第一种方法小编敢肯定没几个人知道。1、手机绝处才能逢生这里假设华为手机用户先前已经在手机上登录了自己的华为账号,并且也开启了“手机找回”的功能。如果这里的假设成立,那么解锁屏幕密码就可以实现,在电脑上登录华为云服务(使用与手机上一样的账号),点击“手机找回”,这里会再次要求你输入账号密码,接下来选择好手机设备型号,就能直接定位到你的手机,我们点击“锁定设备”,设置好6位解锁密码,再次输入华为账号密码确认,这样手机就锁定成功了,这时我们可以直接在手机上输入你刚才设置的6位数字密码即可成功解锁手机了。这一种方法不会对手机上的任何数据造成损坏,堪称解锁屏幕密码的完美方法,有的时候真的是绝处才能逢生。2、手机原地复活这一种方法是利用手机的恢复出厂设置实现的,长按手机电源键关机,完全关机再等几秒后同时按住“音量加键”和“电源键”直到看到华为图案再松开,这样就能进入手机的Recovery模式了,我们选择“恢复出厂设置”并使用“电源键”来确定,等待恢复出厂设置,完成后重启手机就又像新手机一样了。这种方法是可以解决锁屏密码的问题,但也一并把手机上所有的数据都给清除掉了,万一没有备份那就悲催了,所以这种方法会但不一定用。这两种方法小编优先推荐使用第
玩转小米各种功能----适合于小白
第一步:了解小米手机 ①MI-ONE概览 按键 电源键短按:开机、锁定屏幕、点亮屏幕; 长按:弹出静音模式/飞行模式/访客模式/重新启动/关机对话框。主屏幕键屏幕锁定时,短按点亮屏幕; 解锁后,在任何界面,点击返回主屏幕按,显示近期任务窗口。 返回键点击返回之前屏幕。 菜单键点击显示当前界面菜单。
音量加减键调节音量大小; 来电时,点击此键,铃声变为静音。 米键小米手机多功能键,可以在设置中自定义。启动相机后半按对焦,按下拍照。 菜单键+音量减键点亮屏幕后,截取当前屏幕,可在“图库”-“MIUI截屏”中查看截图。 打开后盖 在开盖凹口处沿夹缝向两侧轻抠即可。 插拔电池插入电池,电池金属接触口与机体电池接触器对齐,向下轻压,再将电池平整推入即可;拔出电池,于凹口处方向轻推同时将电池向外拉提起。 重要须知:应按照说明书指示插入、取出电池,以避免对机体或电池造成不必要的损害。 插入或取出SIM卡 1.打开手机后盖,取出电池;
2.将SIM卡锁完全向外侧拨开; 3.按机体图示方向,插入或取出SIM卡。 重要须知:为更全面地保护SIM卡,小米手机采用电池顶锁式SIM卡锁设计。为防止SIM卡损坏,应始终在取 出电池、打开SIM卡锁后,再插入或取出该卡。 插入存储卡 存储卡接触区朝下插入卡槽,听到存储卡锁定时的咔哒声时即可。
重要须知:请安全卸载或关机后取下存储卡,否则有可能导致系统问题。 挂饰物打开后盖,将挂绳穿过挂件孔,将挂绳紧扣于螺丝上即可。 随机配件USB2.0接线 电源适配器 专用电池 保修证书 入门指南
②状态栏显示时间、电池状态、信号强度、运营商名或通知图标。屏幕顶部状态栏图标信息: 第二步:使用小米手机 ③如何使用小米手机应用程序? 要打开应用程序,请在屏幕上点击其图标。 返回到主屏幕:按下显示屏下方的主屏幕键。 切换到其他主屏幕:向左或向右划动手指,或者划动底部圆点区域。切换最近使用的应用程序:长按主屏幕键。
【小米miui7主题XX】手机端小米手机MIUI6MIUI7主题XX教程
【小米miui7主题XX】手机端小米手机MIUI6MIUI7主题XX 教程 史上最详细破解主题★教程★ 不废话啦,直入主题。 1.首先电脑要有JAVA(这个就不说了自己百度吧,有些电脑还要设置环境变量) 2.首先要进入小米官方主题商店,这里有个简便方法。直接在小米官网网址的xiaomi前面加上zhuti.就行了 3.进入后随便找到自己喜欢的主题 4.把网址中的“detail”改为“download”。然后按回车便可下载未破解的主题。 5.建议下载到桌面上,得到如下图 6.打开主题破解工具(置顶帖网盘里有) 7.把下载好的主题拖到工具的界面上,再点击确定。
8.得到文件夹,如下图 9.打开文件夹,找到下图中的文件夹,然后打开 10.在文件上右键打开属性,点详细信息。修改标题,改完点确定。★两个文件都要改哦★标题改成什么都行,我这里为了方便改成了1。 11.再次打开破解工具,把修改后的主题文件夹拖上去。点击“生成完整包” 12.等到显示“打包完成”即可 13.得到下图文件。 14.就该放到手机里使用啦,这个就不用多说了。 先装wsm,再装mi-tools,最后再装ThemeManager2(用于下 载小米主题)。打开wsm,激活mi-tools,重启后就可以用ThemeManager2下载并用小米全部主题了。
(此教程仅适用已root手机) 相关软件下载链接:pan.baidu./s/1qW6nbac 主题教程 一、MIUI主题 首先,我们手机的UI是由很多部分组成的,如锁屏、通知栏、桌面壁纸、图标等等。如果我们把手机比喻成一个房子,上述的部分可想象成房子的门、窗、地板、吊灯、座椅等。那我们可以认为原生的android系统就是一个毛坯房,MIUI是在这之上的一个简装,自定义主题就是你自己给房子做的。 MIUI提供主题自定义功能,其实就相当于帮你请了一个工程队,你可以用从众多装修方案(主题包)中选择自己喜欢的效果,最后交给工程队实施。而装修方案可大可小,大至全屋翻新,小到只换一盏灯。目前MIUI会自带两个主题包,达人们也可以自己的主题包,大家就可以借用达人们共享出来的设计。 二、准备工作
华为手机屏幕解锁密码给忘了,两招轻松解决
华为手机屏幕解锁密码给忘了,两招轻松解决 如今,我们在使用智能手机的时候会给手机设置锁屏密码,这样会保护我们的隐私、数据安全等,但有些手机用户会粗心的把手机锁屏密码给忘记或者记错,这就尴尬了,让你进不了手机系统,下面小编介绍两种方法,轻松解开那些忘记锁屏密码的手机。这里的第二种方法可能大家还知道,但第一种方法小编敢肯定没几个人知道。1、手机绝处才能 逢生这里假设华为手机用户先前已经在手机上登录了自己 的华为账号,并且也开启了“手机找回”的功能。如果这里的 假设成立,那么解锁屏幕密码就可以实现,在电脑上登录华为云服务(使用与手机上一样的账号),点击“手机找回”,这里会再次要求你输入账号密码,接下来选择好手机设备型号,就能直接定位到你的手机,我们点击“锁定设备”,设置好6 位解锁密码,再次输入华为账号密码确认,这样手机就锁定成功了,这时我们可以直接在手机上输入你刚才设置的6位数字密码即可成功解锁手机了。这一种方法不会对手机上的任何数据造成损坏,堪称解锁屏幕密码的完美方法,有的时候真的是绝处才能逢生。2、手机原地复活这一种方法是利 用手机的恢复出厂设置实现的,长按手机电源键关机,完全关机再等几秒后同时按住“音量加键”和“电源键”直到看到华 为图案再松开,这样就能进入手机的Recovery模式了,我
们选择“恢复出厂设置”并使用“电源键”来确定,等待恢复出厂设置,完成后重启手机就又像新手机一样了。这种方法是可以解决锁屏密码的问题,但也一并把手机上所有的数据都给清除掉了,万一没有备份那就悲催了,所以这种方法会但不一定用。这两种方法小编优先推荐使用第一种,可以在不清除数据的前提下解锁屏幕密码,后面这种方法在没得选择的时候再用,高招与低招相互搭配,任何情况都可以解决。