8.miui10稳定版版怎么截屏

安卓8.0 SystemUI 中的quick setting加入屏幕截图功能
在安卓8.0的QS中增加一个选项 和在安卓7.0上的大致相同,可能还会有一点点的小区别。现在开始总结一下,如果有什么问题,欢迎提出。嘿嘿
1.首先在/frameworks/base/packages/SystemUI/res/values/config.xml里面添加截屏screenshot的选项
&string name="quick_settings_tiles_stock" translatable="false"&
wifi,cell,battery,dnd,flashlight,screenshot
2.当然了/frameworks/base/packages/SystemUI/res/values/strings.xml里面还要加一个字符串
&string name="quick_settings_screenshot"&Screenshot&/string&
3.下面就开始重点了frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenShotTile.java 要在这个tiles这个文件夹下面添加这个java文件,注意这里继承的是QSTileImpl,这点和7.0不一样。
package com.android.systemui.qs.
import android.content.res.C
import android.content.res.R
import android.view.LayoutI
import android.view.V
import android.view.ViewG
import com.android.systemui.R;
//import com.android.systemui.qs.QST
import com.android.systemui.qs.tileimpl.QSTileI
import android.content.I
import android.util.L
import android.content.C
import com.android.internal.logging.MetricsL
//import com.android.internal.logging.MetricsProto.MetricsE
import com.android.internal.logging.nano.MetricsProto.MetricsE
import android.content.ServiceC
import android.content.ComponentN
import android.os.M
import android.os.M
import android.os.H
import android.os.IB
import android.os.UserH
import android.os.RemoteE
import android.os.ServiceM
import com.android.systemui.plugins.qs.QSTile.BooleanS
import com.android.systemui.qs.QSH
import android.widget.S
public class ScreenShotTile extends QSTileImpl&BooleanState& {
public ScreenShotTile(QSHost host) {
super(host);
public BooleanState newTileState() {
return new BooleanState();
protected void handleClick() {
mHost.screenShot();
public int getMetricsCategory() {
return MetricsEvent.QS_PANEL;
public Intent getLongClickIntent() {
return new Intent(mContext,com.android.systemui.screenshot.ScreenShotActivity.class);
public CharSequence getTileLabel() {
return mContext.getString(R.string.quick_settings_screenshot);
protected void handleUpdateState(BooleanState state, Object arg) {
state.label = mContext.getString(R.string.quick_settings_screenshot);
state.icon = state.icon = ResourceIcon.get(R.drawable.icon_screenshot);
state.value =
state.expandedAccessibilityClassName = Switch.class.getName();
public void setListening(boolean listening) {
final Object mScreenshotLock = new Object();
ServiceConnection mScreenshotConnection =
private Handler mHandler = new Handler();
final Runnable mScreenshotTimeout = new Runnable() {
@Override public void run() {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != null) {
mContext.unbindService(mScreenshotConnection);
mScreenshotConnection =
private final Runnable mScreenshotRunnable = new Runnable() {
public void run() {
takeScreenshot();
private void takeScreenshot() {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != null) {
ComponentName cn = new ComponentName("com.android.systemui",
"com.android.systemui.screenshot.TakeScreenshotService");
Intent intent = new Intent();
intent.setComponent(cn);
ServiceConnection conn = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != this) {
Messenger messenger = new Messenger(service);
Message msg = Message.obtain(null, 1);
final ServiceConnection myConn =
Handler h = new Handler(mHandler.getLooper()) {
public void handleMessage(Message msg) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection == myConn) {
mContext.unbindService(mScreenshotConnection);
mScreenshotConnection =
mHandler.removeCallbacks(mScreenshotTimeout);
msg.replyTo = new Messenger(h);
msg.arg1 = msg.arg2 = 0;
messenger.send(msg);
} catch (RemoteException e) {
public void onServiceDisconnected(ComponentName name) {}
if (mContext.bindServiceAsUser(
intent, conn, Context.BIND_AUTO_CREATE, UserHandle.CURRENT)) {
mScreenshotConnection =
mHandler.postDelayed(mScreenshotTimeout, 15000);
4.在/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/QSHost.java 文件中加入方法screenshot方法。
import java.util.C
public interface QSHost {
void warn(String message, Throwable t);
void collapsePanels();
void forceCollapsePanels();
///M:START@{
void screenShot();
void openPanels();
Context getContext();
Collection&QSTile& getTiles();
void addCallback(Callback callback);
void removeCallback(Callback callback);
TileServices getTileServices();
void removeTile(String tileSpec);5.在/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java中加入相应方法
public void warn(String message, Throwable t) {
// already logged
///START@{
public void screenShot() {
mStatusBar.screenShot();
/// END @}
public void collapsePanels() {
mStatusBar.postAnimateCollapsePanels();
public void forceCollapsePanels() {
mStatusBar.postAnimateForceCollapsePanels();
}6.在/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java,这个里面会加载所有的title 这个也是8.0上新增加的。
需要导包import com.android.systemui.qs.tiles.ScreenShotTpublic QSTile createTile(String tileSpec) {
if (tileSpec.equals("wifi")) return new WifiTile(mHost);
else if (tileSpec.equals("bt")) return new BluetoothTile(mHost);
else if (tileSpec.equals("cell")) return new CellularTile(mHost);
else if (tileSpec.equals("dnd")) return new DndTile(mHost);
else if (tileSpec.equals("inversion")) return new ColorInversionTile(mHost);
else if (tileSpec.equals("airplane")) return new AirplaneModeTile(mHost);
else if (tileSpec.equals("work")) return new WorkModeTile(mHost);
else if (tileSpec.equals("rotation")) return new RotationLockTile(mHost);
else if (tileSpec.equals("flashlight")) return new FlashlightTile(mHost);
else if (tileSpec.equals("location")) return new LocationTile(mHost);
else if (tileSpec.equals("cast")) return new CastTile(mHost);
else if (tileSpec.equals("hotspot")) return new HotspotTile(mHost);
else if (tileSpec.equals("user")) return new UserTile(mHost);
else if (tileSpec.equals("battery")) return new BatterySaverTile(mHost);
else if (tileSpec.equals("saver")) return new DataSaverTile(mHost);
else if (tileSpec.equals("night")) return new NightDisplayTile(mHost);
else if (tileSpec.equals("nfc")) return new NfcTile(mHost);
// Intent tiles.
else if (tileSpec.startsWith(IntentTile.PREFIX)) return IntentTile.create(mHost, tileSpec);
else if (tileSpec.startsWith(CustomTile.PREFIX)) return CustomTile.create(mHost, tileSpec);
///M: START@{
else if (tileSpec.equals("screenshot")) return new ScreenShotTile(mHost);
Log.w(TAG, "Bad tile spec: " + tileSpec);
7.在frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/ScreenShotActivity.java 这个文件夹下面加这个activity
package com.android.systemui.
import android.app.A
import android.os.B
import com.android.systemui.R;
import android.content.ServiceC
import android.content.ComponentN
import android.os.M
import android.os.M
import android.os.H
import android.os.IB
import android.os.UserH
import android.os.RemoteE
import android.os.ServiceM
import android.content.C
import android.content.I
public class ScreenShotActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screenshot);
mHandler.postDelayed(mScreenshotRunnable, 100);
private Handler mHandler = new Handler(){
public void handleMessage(Message msg) {
if (mScreenshotConnection != null) {
ScreenShotActivity.this.unbindService(mScreenshotConnection);
mScreenshotConnection =
ScreenShotActivity.this.finish();
final Object mScreenshotLock = new Object();
ServiceConnection mScreenshotConnection =
final Runnable mScreenshotTimeout = new Runnable() {
@Override public void run() {
synchronized (mScreenshotLock) {
mHandler.sendEmptyMessage(0);
private final Runnable mScreenshotRunnable = new Runnable() {
public void run() {
takeScreenshot();
private void takeScreenshot() {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != null) {
mHandler.sendEmptyMessage(0);
ComponentName cn = new ComponentName("com.android.systemui",
"com.android.systemui.screenshot.TakeScreenshotService");
Intent intent = new Intent();
intent.setComponent(cn);
ServiceConnection conn = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != this) {
mHandler.sendEmptyMessage(0);
Messenger messenger = new Messenger(service);
Message msg = Message.obtain(null, 1);
final ServiceConnection myConn =
Handler h = new Handler(mHandler.getLooper()) {
public void handleMessage(Message msg) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection == myConn) {
ScreenShotActivity.this.unbindService(mScreenshotConnection);
mScreenshotConnection =
mHandler.removeCallbacks(mScreenshotTimeout);
msg.replyTo = new Messenger(h);
msg.arg1 = msg.arg2 = 0;
messenger.send(msg);
} catch (RemoteException e) {
mHandler.sendEmptyMessage(0);
public void onServiceDisconnected(ComponentName name) {}
if (ScreenShotActivity.this.bindServiceAsUser(
intent, conn, Context.BIND_AUTO_CREATE, UserHandle.CURRENT)) {
mScreenshotConnection =
mHandler.postDelayed(mScreenshotTimeout, 10000);
8.上面加载了一个layout这可以在frameworks/base/packages/SystemUI/res/layout/screenshot.xml里面加一个layout就可以了哈
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
&/LinearLayout&
9./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java在这里面加最后的逻辑。
//screenshot
private final Runnable mTakeScreenshot = new Runnable() {
public void run() {
screenshot();
private void screenshot() {
if (mStatusBarWindow != null) {
// release focus immediately to kick off focus change transition
mStatusBarWindowManager.setStatusBarFocusable(false);
mStatusBarWindow.cancelExpandHelper();
mStatusBarView.collapsePanel(true /* animate */, false, 1.0f);
//这里有delay延时设置
mHandler.postDelayed(mScreenshotRunnable, 500);
public void screenShot(){
mHandler.post(mTakeScreenshot);
final Object mScreenshotLock = new Object();
ServiceConnection mScreenshotConnection =
final Runnable mScreenshotTimeout = new Runnable() {
@Override public void run() {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != null) {
mContext.unbindService(mScreenshotConnection);
mScreenshotConnection =
private final Runnable mScreenshotRunnable = new Runnable() {
public void run() {
takeScreenshot();
private void takeScreenshot() {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != null) {
mHandler.sendEmptyMessage(0);
ComponentName cn = new ComponentName("com.android.systemui",
"com.android.systemui.screenshot.TakeScreenshotService");
Intent intent = new Intent();
intent.setComponent(cn);
ServiceConnection conn = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection != this) {
Messenger messenger = new Messenger(service);
Message msg = Message.obtain(null, 1);
final ServiceConnection myConn =
Handler h = new Handler(mHandler.getLooper()) {
public void handleMessage(Message msg) {
synchronized (mScreenshotLock) {
if (mScreenshotConnection == myConn) {
mContext.unbindService(mScreenshotConnection);
mScreenshotConnection =
mHandler.removeCallbacks(mScreenshotTimeout);
msg.replyTo = new Messenger(h);
msg.arg1 = msg.arg2 = 0;
messenger.send(msg);
} catch (RemoteException e) {
mHandler.sendEmptyMessage(0);
public void onServiceDisconnected(ComponentName name) {}
if (mContext.bindServiceAsUser(
intent, conn, Context.BIND_AUTO_CREATE, UserHandle.CURRENT)) {
mScreenshotConnection =
mHandler.postDelayed(mScreenshotTimeout, 10000);
嘿嘿 大致就这样婶了。这是加了一个完整的功能,所以看着有点多。安卓8.0上SystemUI还是和7.0有点区别的。
没有更多推荐了,乡米手机8.0怎么截屏_百度知道
乡米手机8.0怎么截屏
乡米手机8.0怎么截屏
我有更好的答案
1.按住【电源】键几秒,即可出现截图选项;2.同时按下【音量减】键和【电源】键;3.同时按下【音量加】键和【电源】键;4.同时按下【菜单】键和【电源】键;5.同时按下【Home(小房子)】键和【电源】键;
采纳率:87%
来自团队:
你也不说什么手机
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。华为Mate8怎么截屏 华为Mate8截屏方式汇总-ROM下载之家官网
华为Mate8怎么截屏 华为Mate8截屏方式汇总
  华为Mate8怎么截屏?小编今天带来华为Mate8截屏方式汇总,非常实用的一个教程,机油们赶紧收藏了吧。
  组合按键截屏
  这种老式的截屏方法相信大家都已经知道,华为其他系列的手机也都有此功能,只要同时按住电源键合音量下键就能截取屏幕中的内容。
  下拉开关截屏
  有的时候,我们会将屏幕中的界面缩小,然后一只手玩手机,可遇到截屏的时候腾不出手来确实挺麻烦的。这个时候下拉开关就能一键截屏,很方便哦。
  指关节截屏
  指关节截屏是去年发行的P8就有的,算不上新鲜,但比传统组合按键截屏要方便的多,在看到需要界面时,可以迅速使用指关节将屏幕中的内容截取。
  非规则截屏
  这种截屏可以截取你想要的图形,可以是任何非主流的形状,也可以是规矩的原型和心形,当然这中截屏方式需要通过指关节来完成。
  滚动截屏
  很多人在浏览微博或者新闻的时候,多多少少要截一些重要或者有趣的内容,如果内容过多,截屏就得一直往下翻,非常麻烦。而滚动截屏是能截取超长的内容,只需用指关节在屏幕上画一个S就能轻轻松松的截取内容。
热门刷机包top10
热门刷机教程top10
热门ROM资讯top10
热门手机刷机包
热门刷机包top10
热门刷机教程top10
热门ROM资讯top10
热门手机刷机包
刷机包下载> 详细内容
平板电脑 : galaxy note 8.0如何截屏
摘要:屏幕截图可将手机当前的页面全屏截取下来,三星Galaxy Note 8.0 GT-N5100/GT-N5110支持屏幕截图功能,并且有两种截图方法,请按照以下步骤操作: 一、掌擦截图。 1.在待机页面下,点击【应用程序】。 2.点击【设定】。 3.用手指向上滑动手机屏幕,选择【动作....
&屏幕截图可将手机当前的页面全屏截取下来,三星Galaxy Note 8.0 GT-N5100/GT-N5110支持屏幕截图功能,并且有两种截图方法,请按照以下步骤操作:
一、掌擦截图。
1.在待机页面下,点击【应用程序】。
2.点击【设定】。
3.用手指向上滑动手机屏幕,选择【动作】。
4.将屏幕顶部的【动作】滑动块向右滑动,绿色代表已开启。
5.将【手掌滑动以捕捉】打钩。
6.上述设置完成后,当您想截图时,直接用手的侧面从右至左(从左至右)划过屏幕以截图。
二、按键截图。
待机状态下,同时按住屏幕下方的【home】键和机身右侧上方的【电源】键即可截图。
截好的图片请在以下位置中查看:
1.在待机页面下,点击【应用程序】。
2.点击【我的文件】。
3.点击【sdcard0】。
4.选择【Pictures】。
5.点击【Screenshots】,所有手机屏幕截图将会显示。
系统教程推荐
系统教程排行
操作系统推荐
软件下载推荐
版权所有 粤ICP备号-3平板/笔记本
HiLink生态产品
终端云服务专区
8.0怎么才能让截图快点的消失呢?
&初窥门径&
来自:荣耀8 FRD-AL10
每次截图后都得等好几秒才能消失,有人说点框外面就马上消失了,可是我的怎么不消失呢?是我的有问题吗?
%2Fstorage%2Femulated%2F0%2FPictures%2FScreenshots%2FScreenshot_329.jpg (464.88 KB, 下载次数: 0)
21:44 上传
width:100%">
&花粉帮帮堂&
来自:浏览器
楼主我刚试了一下确实截完去点击截图框外面就立刻消失了,建议你重启手机后再试试看,另外看一下有没有改动过开发人员选项的动画设置。
width:100%">
&略有小成&
来自:荣耀8 FRD-AL10
楼主威武!从截图的左上角看,你是屏幕录制,而不是截屏。。。。。。
width:100%">
&渐入佳境&
来自:荣耀8 FRD-AL10
width:100%">
&炉火纯青&
来自:荣耀8 FRD-AL10
楼主开黑啊!&&录屏截屏不分啦!
width:100%">
&热心花粉&
来自:浏览器
截图外点一下,不过你这是录屏
好玩的软件、好看的免费主题、好机智的玩机技巧
width:100%">
&略有小成&
来自:荣耀7 PLK-CL00
width:100%">
&登堂入室&
来自:荣耀8 FRD-AL00
你是不是故意的啊
width:100%">
&炉火纯青&
来自:荣耀8 FRD-AL00
可能脑子有问题
width:100%">
&登堂入室&
来自:荣耀8 FRD-AL10
是的,你很强势
width:100%">
申请成为热心花粉,满足热心花粉条件即可获得!http://cn.club.vmall.com/forum.php?mod=viewthread&tid=183642
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
随手拍毕业季(上)P20pro随手拍p10镜头下的小生灵华为P20伴我新疆徒步行3清晨时光
花粉客户端
Make it Possible
Make your device special
华为云空间
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
关注花粉俱乐部
举报邮箱:
|关注花粉俱乐部:
增值电信业务经营许可证:苏B2-号|
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利}

我要回帖

更多关于 用钱宝稳定版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信