华为Mate9怎么隐藏手机应用软件 华为Mate9隐藏应用方法

 更新时间:2016年12月21日 21:01  点击:2104
华为Mate9怎么隐藏应用呢?相信很多用户想知道的吧,接下来小编为大家介绍一下华为Mate9怎么隐藏应用教程,有兴趣的一起来了解一下。

华为Mate9隐藏应用方法

将手机解锁成功之后,进入手机主界面,两手指在桌面外扩,就会出现隐藏程序的界面。此时,我们主要点击添加按钮即可以将程序隐藏起来,不被别人看到。当我们需要打开的时候,打开隐藏程序界面,找到对应的应用打开就可以了。

第一步:手机主界面,两手指在桌面外扩。

第二步:隐藏程序的界面。

第三步:打开隐藏程序界面,找到对应的应用打开就可以了。

刚买来的华为Mate9怎么导入联系人呢?一个一个输入又太麻烦,下面小编就为你们分享华为Mate9显示并导入SIM卡联系教程,一起来看看吧。

华为Mate9导入SIM卡联系人方法步骤:

一、首先将SIM卡安装到华为Mate9手机中,然后从华为Mate9桌面打开联系人,当我们进入空联系人的时候,选择【导入联系人】,如图所示:

二、导入联系人的方式有三种:存储设备、SIM卡、其他手机,这里我们通过SIM卡讲联系人导入,如图所示:

三、最后,点击联系人设置,选择【精准识别】,简洁模式,显示SIM联系人,可以最好的显示手机联系人,如图所示:

以上就是小编给大家推荐的导入SIM卡上联系人并用合适的方式显示SIM卡联系人的方法。除此之外,还可以使用华为云服务同样能同步我们的联系人。以上直接导入的方法比起华为云服务它优点在于过滤重复联系人隐藏一些不必要的信息,机友们如何选择呢?

小编推荐的这篇教程介绍了如何用安卓实现偷拍功能的实例代码,有兴趣的同学不妨来动手尝试一下吧。

Android 偷拍功能/手机关闭能拍照

效果如下:

其实偷拍与偷录实现方式是一样的,都是使用到的WindowManager来绘制桌面小控件的原理。那我就不多说了…

一、首先我们需要一个SurfaceView:

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/small_window_layout"
  android:layout_width="1dip"
  android:layout_height="1dip"
  >
  <FrameLayout
    android:id="@+id/percent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    />
</LinearLayout>

二、然后进行的操作就是生产这个小控件了:

publicPhotoWindowSmallView(Context context) {
    super(context);
    windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    LayoutInflater.from(context).inflate(R.layout.float_window_small,this);
    View view = findViewById(R.id.small_window_layout);
    viewWidth = view.getLayoutParams().width;
    viewHeight = view.getLayoutParams().height;
//    SurfaceView percentView = (SurfaceView) findViewById(R.id.percent);
//    percentView.setText(MyWindowManager.getUsedPercentValue(context));
  }
 
 
 
  /**
   * 将小悬浮窗的参数传入,用于更新小悬浮窗的位置。
   *
   * @param params 小悬浮窗的参数
   */
  publicvoidsetParams(WindowManager.LayoutParams params) {
    mParams = params;
  }

三、那桌面控件有了,下面当然就是使用WindowManager添加到桌面上了:

/**
    * 创建一个小悬浮窗。初始位置为屏幕的右部中间位置。
    *
    * @param context 必须为应用程序的Context.
    */
   publicvoidcreateSmallWindow(Context context) {
     mContext = context;
     WindowManager windowManager = getWindowManager(context);
     intscreenWidth = windowManager.getDefaultDisplay().getWidth();
     intscreenHeight = windowManager.getDefaultDisplay().getHeight();
     if(smallWindow ==null) {
       smallWindow =newPhotoWindowSmallView(context);
       if(smallWindowParams ==null) {
         smallWindowParams =newLayoutParams();
         smallWindowParams.type = LayoutParams.TYPE_PHONE;
         smallWindowParams.format = PixelFormat.RGBA_8888;
         smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
             | LayoutParams.FLAG_NOT_FOCUSABLE;
         smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
         smallWindowParams.width = PhotoWindowSmallView.viewWidth;
         smallWindowParams.height = PhotoWindowSmallView.viewHeight;
         smallWindowParams.x = screenWidth;
         smallWindowParams.y = screenHeight /2;
       }
       smallWindow.setParams(smallWindowParams);
       windowManager.addView(smallWindow, smallWindowParams);
 
       mSurfaceview = (FrameLayout) smallWindow.findViewById(R.id.percent);
 
     }
   }
 
   /**
    * 将小悬浮窗从屏幕上移除。
    *
    * @param context 必须为应用程序的Context.
    */
   publicvoidremoveSmallWindow(Context context) {
     if(smallWindow !=null) {
       WindowManager windowManager = getWindowManager(context);
       windowManager.removeView(smallWindow);
       smallWindow =null;
     }
   }

四、这个时候我们需要的SurfaceView就有了,那么,怎么在后台进行操作呢?自然而然就想到了Service了

在Service中执行桌面控件的操作:

@Override
 publicintonStartCommand(Intent intent,intflags,intstartId) {
   myWindowManager =newMyPhotoWindowManager();
   createWindow();
   returnsuper.onStartCommand(intent, flags, startId);
 }
 
 @Override
 publicvoidonDestroy() {
   super.onDestroy();
 
 }
 
 privatevoidcreateWindow() {
   // 当前界面是桌面,且没有悬浮窗显示,则创建悬浮窗。
   myWindowManager.removeSmallWindow(getApplicationContext());
   myWindowManager.createSmallWindow(getApplicationContext());
 
 }

五、在activity中对Service绑定,进行拍照的操作

privateclassMyServiceConnimplementsServiceConnection {
 
    @Override
    publicvoidonServiceConnected(ComponentName name, IBinder service) {
      // TODO Auto-generated method stub
      binder = (PhotoWindowService.myServiceBinder) service;
      if(isVedio) {
        binder.startCarema();
      }else{
        binder.stopCarema();
      }
    }
 
    @Override
    publicvoidonServiceDisconnected(ComponentName name) {
      // TODO Auto-generated method stub
    }
 
  }

六、在Service中控制myWindowManager中的拍照的开始和结束

publicclassmyServiceBinderextendsBinder {
   publicvoidstartCarema() {
     myWindowManager.startCarema();
   }
 
   publicvoidstopCarema() {
     myWindowManager.stopCarema();
   }
 }

七、在MyPhotoWindowManager开启或终止拍照操作

publicvoidstartCarema() {
   itt = InitTimetoTakePic.getInstance(mContext);
   itt.initView(mSurfaceview);
   itt.start();
 }
 
 publicvoidstopCarema() {
   if(itt !=null)
     itt.releaseCarema();
 }

八、在InitTimetoTakePic进行拍照的相关处理

packagecom.ddv.www.candidphotodemo;
 
importandroid.annotation.TargetApi;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.content.pm.PackageManager;
importandroid.hardware.Camera;
importandroid.hardware.Camera.AutoFocusCallback;
importandroid.hardware.Camera.PictureCallback;
importandroid.os.Build;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.widget.FrameLayout;
 
importjava.io.File;
importjava.io.FileOutputStream;
 
/**
 * 设置定时拍照功能
 *
 * @author <p>
 *     创建定时拍照任务
 *     cameraType 摄像头
 *     resolutionString 分辨率
 *     tvSaveLocation 保存地址
 *     etExtension 拓展名
 *     cameraStart, 开始拍摄时间
 *     cameraNumber, 拍摄次数
 *     cameraStop 拍摄张数
 */
publicclassInitTimetoTakePic {
 
  privatestaticInitTimetoTakePic mInstance;
  privatestaticintcameraType =1;
  Context mContext;
  staticFrameLayout mSurfaceViewFrame;
  privatestaticCamera mCamera;
  privatestaticCameraPreview mPreview;
  privatestaticString resolutionString ="1920x1080";
  privatestaticString saveLocation = AppUtils.getSDCardPath();
  privatestaticString extension ="JPG";
  privatestaticString cameraStart ="1";
  privatestaticString cameraNumber ="1";
  privatestaticString cameraStop ="10";
  privatestaticintnumber =0;
  privatestaticbooleanclearVoice =false;
  privateIntent intent;
 
  privateInitTimetoTakePic(Context context) {
    this.mContext = context;
  }
 
  publicsynchronizedstaticInitTimetoTakePic getInstance(Context context) {
    mInstance =null;
    mInstance =newInitTimetoTakePic(context);
 
    returnmInstance;
  }
 
  publicvoidinitView(FrameLayout surfaceViewFrame) {
    mSurfaceViewFrame = surfaceViewFrame;
  }
 
  /**
   * 启动定时拍照并上传功能
   */
  Handler mHandler =newHandler() {
    @Override
    publicvoidhandleMessage(Message msg) {
      switch(msg.what) {
        case1:
          LogUtils.v("开始拍照");
          initCarema();
          break;
        case2:
          if(mCamera ==null) {
            releaseCarema();
            number =0;
            mHandler.removeCallbacksAndMessages(null);
          }else{
            if(number < Integer.valueOf(cameraStop)) {
              mCamera.autoFocus(newAutoFocusCallback() {
                @Override
                publicvoidonAutoFocus(booleansuccess, Camera camera) {
                  // 从Camera捕获图片
                  LogUtils.v("自动聚焦111"+ success);
                  try{
                    mCamera.takePicture(null,null, mPicture);
                    mHandler.sendEmptyMessageDelayed(1, Integer.valueOf(cameraNumber) *1000);
                  }catch(Exception e) {
                    releaseCarema();
                    mHandler.removeCallbacksAndMessages(null);
                  }
                }
              });
            }else{
              releaseCarema();
              number =0;
              mHandler.removeCallbacksAndMessages(null);
            }
          }
          break;
      }
    }
  };
 
  publicvoidstart() {
    mHandler.sendEmptyMessageDelayed(1,1*1000);//7s 后开始启动相机
  }
 
  privatevoidinitCarema() {
    LogUtils.v("initCarema");
    if(mCamera ==null) {
      LogUtils.v("camera=null");
      mCamera = getCameraInstance();
      mPreview =newCameraPreview(mContext, mCamera);
      mSurfaceViewFrame.removeAllViews();
      mSurfaceViewFrame.addView(mPreview);
    }
    LogUtils.v(mCamera ==null?"mCamera is null":"mCamera is not null");
    mCamera.startPreview();
    mHandler.sendEmptyMessageDelayed(2, Integer.valueOf(cameraStart) *1000);//3s后拍照
  }
 
  /**
   * 检测设备是否存在Camera硬件
   */
  privatebooleancheckCameraHardware(Context context) {
    if(context.getPackageManager().hasSystemFeature(
        PackageManager.FEATURE_CAMERA)) {
      // 存在
      returntrue;
    }else{
      // 不存在
      returnfalse;
    }
  }
 
  /**
   * 打开一个Camera
   */
  @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
  publicstaticCamera getCameraInstance() {
    Camera c =null;
    try{
      c = Camera.open(cameraType);
      c.setDisplayOrientation(90);
      Camera.Parameters mParameters = c.getParameters();
      //快门声音
      c.enableShutterSound(clearVoice);
      //可以用得到当前所支持的照片大小,然后
      //List<Size> ms = mParameters.getSupportedPictureSizes();
      //mParameters.setPictureSize(ms.get(0).width, ms.get(0).height); //默认最大拍照取最大清晰度的照片
      String[] xes = resolutionString.split("x");
      // LogUtils.i("ms.get(0).width==>"+ms.get(0).width);
      // LogUtils.i("ms.get(0).height==>"+ms.get(0).height);
      // LogUtils.i("Integer.valueOf(xes[0])==>"+Integer.valueOf(xes[0]));
      // LogUtils.i("Integer.valueOf(xes[1])==>"+Integer.valueOf(xes[1]));
      mParameters.setPictureSize(Integer.valueOf(xes[0]), Integer.valueOf(xes[1]));//默认最大拍照取最大清晰度的照片
      c.setParameters(mParameters);
    }catch(Exception e) {
      LogUtils.v("打开Camera失败失败");
    }
    returnc;
  }
 
  privatePictureCallback mPicture =newPictureCallback() {
 
    @Override
    publicvoidonPictureTaken(byte[] data, Camera camera) {
      // 获取Jpeg图片,并保存在sd卡上
      String path = saveLocation;
      File dirF =newFile(path);
      if(!dirF.exists()) {
        dirF.mkdirs();
      }
      File pictureFile =newFile(path +"/"+ System.currentTimeMillis() +"."+ extension);//扩展名
      try{
        FileOutputStream fos =newFileOutputStream(pictureFile);
        fos.write(data);
        fos.close();
 
        LogUtils.v("保存图成功");
        number++;
        intent =newIntent();
        intent.setAction("CameraFragment.start");
        intent.putExtra("number", number);
        mContext.sendBroadcast(intent);
      }catch(Exception e) {
        LogUtils.v("保存图片失败");
        e.printStackTrace();
      }
      releaseCarema();
    }
  };
 
  publicvoidreleaseCarema() {
    if(mCamera !=null) {
      mCamera.stopPreview();
      mCamera.release();
      mCamera =null;
    }
  }
}
原文链接:http://blog.csdn.net/huangxiaoguo1/article/details/53666047
Android 7.0调用相机崩溃怎么办?以下是Android 7.0调用相机崩溃的解决教程,希望能帮助到遇到困难的朋友!

Android 7.0调用相机崩溃解决办法

错误提示:

android.os.FileUriExposedException: file:///storage/emulated/0/DCIM/IMG_1041503431.jpg exposed beyond app through ClipData.Item.getUri()


 

处理方式

/**
 * Open camera
 */
privatevoidshowCameraAction() {
 if(ContextCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
   != PackageManager.PERMISSION_GRANTED) {
  requestPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE,
    getString(R.string.mis_permission_rationale_write_storage),
    REQUEST_STORAGE_WRITE_ACCESS_PERMISSION);
 }else{
  Intent intent =newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
  if(intent.resolveActivity(getActivity().getPackageManager()) !=null) {
   try{
    mTmpFile = FileUtils.createTmpFile(getActivity());
   }catch(IOException e) {
    e.printStackTrace();
   }
   if(mTmpFile !=null&& mTmpFile.exists()) {
     /*获取当前系统的android版本号*/
    intcurrentapiVersion = android.os.Build.VERSION.SDK_INT;
    Log.e("currentapiVersion","currentapiVersion====>"+currentapiVersion);
    if(currentapiVersion<24){
     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mTmpFile));
     startActivityForResult(intent, REQUEST_CAMERA);
    }else{
     ContentValues contentValues =newContentValues(1);
     contentValues.put(MediaStore.Images.Media.DATA, mTmpFile.getAbsolutePath());
     Uri uri = getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);
     intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
     startActivityForResult(intent, REQUEST_CAMERA);
    }
   }else{
    Toast.makeText(getActivity(), R.string.mis_error_image_not_exist, Toast.LENGTH_SHORT).show();
   }
  }else{
   Toast.makeText(getActivity(), R.string.mis_msg_no_camera, Toast.LENGTH_SHORT).show();
  }
 }
}

原文链接:http://blog.csdn.net/huangxiaoguo1/article/details/52830015

[!--infotagslink--]

相关文章

  • 华为Mate9原装高清壁纸合集:分辨率超赞

    华为日前在德国慕尼黑正式发布了新一代旗舰Mate 9,但其实早在9月底,Mate 9的两个版本就通过了工信部审核,只是没有照片,在等待的日子里,Mate 9原装高清壁纸已经提前出炉了,总共有20张,有兴趣的朋友可以收藏一下哦...2016-12-15
  • 华为手机怎么开启双时钟? 华为添加双时钟的技巧

    华为手机怎么开启双时钟?华为手机是可以设置双时钟的,如果来回在两个有时差的地方工作,是可以设置双时钟显示,下面我们就来看看华为添加双时钟的技巧,需要的朋友可以参考下...2020-12-08
  • 华为畅享20Pro配置怎么样?华为畅享20Pro参数配置分析

    华为畅享20Pro配置怎么样?对于即将上市的华为畅享20 Pro手机,很多的网友们也是相当关注的,大家都想要知道这款华为畅享20 Pro手机的配置到底怎么样,赶紧看看吧...2020-06-29
  • 余承东:华为不会一夜之间搞10万家线下店

    70分57秒,华为Mate9系列发布上,余承东一直都是抑制不住的笑着,直到Mate9保时捷版本8999元的公布。余承东说在国内4000元档国产手机中,华为是卖得最好,也是首先能够突破4000元的。这次华为甚至突破了苹果的价格,飙至9000元。...2016-11-22
  • C#定时每天00点00分00秒自动重启软件

    这篇文章主要为大家详细介绍了C#定时每天00点00分00秒自动重启软件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-11-03
  • 华为将携HiLink智能家居生态成果重磅亮相2017AWE

    3月9日-11日,以“智慧生活尽在AWE”为主题的2017年中国家电及消费电子博览会(AWE)将在上海新国际博览中心(SNIEC) 举行。届时,华为将携HiLink智能家居生态成果亮相。华为消费者业务首席战略官邵洋还将在AWE开幕式上发表主题演讲,并与方太集团、海尔集团、京东集团、博西家电四家企业的相关负责人共同出席“中国家电发展高峰论坛”,就如何打造“智慧生活”以及“人工智能在智能家居中的应用”进行探讨交流。...2017-07-06
  • 华为开始通过亚马逊在美国销售MediaPad平板电脑

    凤凰科技讯 北京时间11月17日消息,据外媒报道,华为周三宣布,将开始通过亚马逊在美国销售其MediaPad平板电脑。...2016-11-22
  • 华为Mate9保时捷版和保时捷跑车两者有关系吗?有什么关系?

    华为一共推出两款华为Mate9,华为Mate9与华为Mate9保时捷限量版,纳闷华为Mate9保时捷版和保时捷跑车两者有关系吗?有什么关系?很多网友都表示很疑惑,所以下面我们一起来看看吧...2016-12-15
  • 详解软件系统稳定性的三大秘密

    随着软件复杂性越来越高,稳定性的保障越来越难,随着服务规模越来越大,稳定性的重要性越来越高。工程师在设计和开发软件的时候,要坚持底板思维。...2021-05-20
  • 比较简单的虚拟主机管理软件MyIIS 1.0.0

    MyIIS 做了部分,程序只写了些函数(带数据库),具体调用各位写逻辑程序实现...2016-01-27
  • 华为Mate9怎么设置个人隐私空间 华为Mate9隐私空间用法介绍

    好友来借机?短信、视频、文件担心被泄露,不借?面子事儿大,借?别担心,设置属于您自己的隐私空间,在隐私空间存放的数据只对自己开放,即使手机丢失,别人也无法获取。那么华为Mate...2016-12-15
  • 华为与苹果互换专利说明了什么

    你相信华为开始向苹果收取专利许可使用费吗?前不久,深圳市召开2016年知识产权工作会议,会议发布了“深圳市2015年度知识产权十大事件”,其中,华为苹果相互专利许可一事被列入其中。...2016-07-04
  • 比高通、OPPO快1倍:华为如何引领智能手机充电速度

    从充电速度来看,荣耀 Magic 无疑是目前充电最快的手机,并且比同类产品速度快了近乎 1 倍。荣耀 Magic 仅仅只是华为石墨烯锂电池技术的首秀。...2016-12-31
  • 三星发力5G,欲追诺基亚华为杀入全球前三

    北京时间6月21日下午消息,三星高管表示,通过迅速开拓美国等市场,三星希望成为全球排名前三的5G技术厂商。此前,由于在无线技术标准方面的押注失误,三星在电信设备市场落后于竞争对手。...2016-07-04
  • 华为如何做到永不卡顿?一分钟视频看懂华为EMUI 5.0

    华为的EMUI 5.0不但是国内第一个基于安卓7.0的新系统,界面、功能彻底重新设计,还独创了Machine Learning智能感知学习系统,从底层全面优化原生安卓,解决安卓越用越卡顿的问题,号称18个月连续使用也不会卡顿,那么是怎么做到的,下面我们来看看吧...2016-12-15
  • 戴尔确认出售软件业务 4年净赔16亿美元

    北京时间6月21日消息,据科技博客TechCrunch报道,当地时间周一上午,私募股权公司FranciscoPartners、对冲基金ElliottManagement旗下私募股权公司和戴尔公司举行联合新闻发布会,两家私募公司将收购戴尔软件部门。...2016-07-04
  • 手机自带软件如何卸载?手机自带软件卸载教程

    很多手机都有一些我们不常用或者根本用不到的自带软件,而且这些软件占用着我们的内存很是碍事,那么如何卸载这些手机的自带软件?有需要的朋友可以来看看。 随着智...2016-12-21
  • php 怎么打开?教你用什么软件打开php文件

    php文件相信很多电脑老手也不知道吧?本文教你用什么软件打开php文件,不知道的同学赶快来看看吧! php文件相信很多电脑老手也不知道吧?今天有一聚教程网网友问了编辑这...2017-07-06
  • 华为插线板开卖!149元支持独家快充

    今天,华为正式上架了自家的插线板产品,在华为商城以及天猫华为旗舰店均可购买,售价为 149 元。...2016-09-28
  • vivo x9总提示内存不足安装软件失败怎么办?

    vivo x9老是提示内存不足应该怎么处理?下面小编整理了解决办法,一起来看一看吧。 问:vivo x9总提示内存不足安装软件失败怎么办?答:内存不足一般有两种,一个是运行内存...2017-01-22