亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android 通用型手電筒代碼

2020-04-11 11:30:36
字體:
來源:轉載
供稿:網友

前幾天這邊一個小區斷電,黑麻麻的,一只貓闖進寢室,把我嚇哭,然后就果斷寫了個手電筒,下次斷電,再來,我要嚇死它。

我之前看到很多人都是直接調用閃光燈,其實大部分機型都不支持,我這個是用相機功能來實現的,大部分機型都支持。

MainActivity.class

public class MainActivity extends FragmentActivity {   @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);     if (isFlashSupported()) {      if (savedInstanceState == null) {        getSupportFragmentManager().beginTransaction().add(R.id.container, new FlashlightFragment()).commit();      }    } else {      showNoFlashAlert();    }  }   private void showNoFlashAlert() {    new AlertDialog.Builder(this)        .setMessage(R.string.device_not_support_msg)        .setIcon(android.R.drawable.ic_dialog_alert).setTitle(R.string.device_not_support_title)        .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {           @Override          public void onClick(DialogInterface dialog, int which) {            dialog.dismiss();            finish();          }        }).create().show();  }   private boolean isFlashSupported() {    PackageManager pm = getPackageManager();    return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);  }   public static class FlashlightFragment extends Fragment implements SurfaceHolder.Callback {     public FlashlightFragment() { }     ImageButton btnSwitch;    ImageView bg;    private boolean isLighOn = false;     private Camera camera;    Camera.Parameters params;     @Override    public void onStart() {      super.onStart();      SurfaceView preview = (SurfaceView) getView().findViewById(R.id.PREVIEW);      SurfaceHolder mHolder = preview.getHolder();      mHolder.addCallback(this);    }     @Override    public void onPause() {      super.onPause();      turnOffFlash();    }     @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {      View view = inflater.inflate(R.layout.fragment_main_activity, container, false);       // flash switch button      btnSwitch = (ImageButton) view.findViewById(R.id.flashlight_button);       bg = (ImageView) view.findViewById(R.id.flashlight_bg);       // displaying button image      toggleBgImage();       // Switch button click event to toggle flash on/off      btnSwitch.setOnClickListener(new View.OnClickListener() {         @Override        public void onClick(View v) {          if (isLighOn) {            turnOffFlash();          } else {            turnOnFlash();          }        }      });       return view;    }     // Turning On flash    private void turnOnFlash() {       if (!isLighOn) {        if (camera == null || params == null) {          return;        }        params = camera.getParameters();        params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);        camera.setParameters(params);        camera.startPreview();        isLighOn = true;         toggleBgImage();      }     }     // Turning Off flash    private void turnOffFlash() {       if (isLighOn) {        if (camera == null || params == null) {          return;        }         params = camera.getParameters();        params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);        camera.setParameters(params);        camera.stopPreview();        isLighOn = false;         toggleBgImage();      }    }     private void toggleBgImage() {      if (isLighOn) {        bg.setImageResource(R.mipmap.f_on);      } else {        bg.setImageResource(R.mipmap.f_off);      }    }     @Override    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {     }     @Override    public void surfaceDestroyed(SurfaceHolder holder) {      if (camera != null) {        camera.stopPreview();        camera.setPreviewCallback(null);        camera.release();        camera = null;      }    }     @Override    public void surfaceCreated(SurfaceHolder holder) {      if (camera == null) {        camera = Camera.open();        params = camera.getParameters();        try {          camera.setPreviewDisplay(holder);        } catch (IOException e) {          camera.release();          camera = null;        }      }       turnOnFlash();    }   }  }

fragment_main_activity.xml

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  >   <SurfaceView    android:id="@+id/PREVIEW"    android:layout_width="1dp"    android:layout_height="1dp"/>   <ImageView    android:id="@+id/flashlight_bg"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:src="@mipmap/f_on"    android:scaleType="centerCrop"    />   <ImageButton    android:id="@+id/flashlight_button"    android:layout_width="100dp"    android:layout_height="200dp"    android:layout_centerInParent="true"    android:background="@android:color/transparent"    android:text="fuck"/> </RelativeLayout>

activity_main.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:id="@+id/container"       android:layout_width="match_parent"       android:layout_height="match_parent"       />

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.liujinghuiuncleapp.app.tool.flashlight" >   <uses-permission android:name="android.permission.CAMERA" />  <uses-permission android:name="android.permission.FLASHLIGHT" />   <uses-feature android:name="android.hardware.camera" />  <uses-feature android:name="android.hardware.camera.flash" />   <application    android:allowBackup="true"    android:icon="@mipmap/ic_launcher"    android:theme="@style/AppTheme"    android:label="@string/app_name" >    <activity      android:name=".MainActivity"      android:label="@string/app_name" >      <intent-filter>        <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>    </activity>  </application> </manifest>

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久亚洲影视| 欧美亚洲国产视频小说| 欧美资源在线观看| 欧美日韩国产91| 亚洲综合第一页| 日韩精品视频中文在线观看| 欧美另类极品videosbestfree| 日韩亚洲精品电影| 国产精品免费看久久久香蕉| 久久久久久久网站| 色综合久久88色综合天天看泰| 精品国产成人av| 亚洲一区二区三区视频播放| 欧美日韩视频在线| 91久久久在线| 91av网站在线播放| 91在线免费看网站| 一区二区三区久久精品| 亚洲欧美日韩一区二区在线| 国产精品美乳在线观看| 欧美日韩国产第一页| 国产成人免费av电影| 久久在线免费观看视频| 国产精品老女人精品视频| 久久久久亚洲精品国产| 国产精品久久色| 欧美激情一二三| 国产精品观看在线亚洲人成网| 精品香蕉在线观看视频一| 岛国av在线不卡| 日韩av在线网站| 美女视频久久黄| 日韩精品视频在线观看网址| 国产精品久久久久久超碰| 精品成人国产在线观看男人呻吟| 91国产中文字幕| 国产精品女人久久久久久| 国产精品成人aaaaa网站| 亚洲永久在线观看| 成人黄色免费网站在线观看| 亚洲精品按摩视频| 欧美丰满少妇xxxxx| 超薄丝袜一区二区| 日韩精品中文字幕视频在线| 55夜色66夜色国产精品视频| 中文欧美日本在线资源| 欧美日韩亚洲天堂| 欧美黄色成人网| 欧美肥老太性生活视频| 久久精品国产免费观看| 国产成人精品一区二区三区| 精品国偷自产在线视频99| 国产精品久久久久久久久久久久| 日韩欧美高清视频| 伊人久久精品视频| 精品久久久久久亚洲精品| 亚洲视频一区二区三区| 96精品视频在线| 亚洲成**性毛茸茸| 性欧美暴力猛交69hd| 欧美午夜激情视频| 亚洲国产高潮在线观看| 最新日韩中文字幕| 成人a免费视频| 久久久成人精品视频| 中文字幕一精品亚洲无线一区| 亚洲精品中文字幕有码专区| 久久中文字幕在线| www.欧美免费| 亚洲国产精品免费| 岛国视频午夜一区免费在线观看| 国产成人午夜视频网址| 欧美性猛交99久久久久99按摩| 日韩欧美亚洲范冰冰与中字| 亚洲国产小视频在线观看| 国产美女搞久久| 国产精品久久久999| 亚洲va码欧洲m码| 欧美成人精品在线| 亚洲激情电影中文字幕| 日韩精品视频免费在线观看| 97国产精品免费视频| 国产精品入口尤物| 久久精品国产久精国产一老狼| 国产一区二区三区在线免费观看| 欧美日韩黄色大片| 亚洲新声在线观看| 久久久久国产一区二区三区| 一区二区三区回区在观看免费视频| 久久久噜久噜久久综合| 亚洲国产欧美自拍| 久久亚洲私人国产精品va| 国产成人精品免高潮费视频| 欧美在线一级视频| 亚洲第一福利视频| 久久精视频免费在线久久完整在线看| 精品视频在线观看日韩| 欧美中文字幕在线视频| 色妞久久福利网| 夜夜嗨av一区二区三区四区| 国产亚洲视频在线| 成人两性免费视频| 欧美怡红院视频一区二区三区| 欧美日韩国产在线看| 久久久之久亚州精品露出| 欧美成人一区在线| 日韩国产欧美区| 中日韩午夜理伦电影免费| 国内揄拍国内精品少妇国语| 久久精品中文字幕电影| 欧美性猛交xxxx免费看漫画| 亚洲精选在线观看| 91视频免费网站| 色青青草原桃花久久综合| 国产美女精品视频免费观看| 日韩av日韩在线观看| 91久久久在线| 国产精品亚洲一区二区三区| 国产va免费精品高清在线| 国产精品久久久久久久久久久久| 久久男人资源视频| 精品国产自在精品国产浪潮| 欧美日韩国产一区中文午夜| 亚洲最大激情中文字幕| 韩国视频理论视频久久| 亚洲经典中文字幕| 欧美视频中文在线看| 国产精品久久久久影院日本| 91国语精品自产拍在线观看性色| 欧美激情视频网址| 欧美疯狂性受xxxxx另类| 亚洲丁香婷深爱综合| 午夜精品在线视频| 亚洲在线视频观看| 国产精品9999| 久久精品99无色码中文字幕| 最近2019好看的中文字幕免费| 日韩精品中文字幕在线观看| 久久91精品国产| 91国产视频在线播放| 日韩欧美国产一区二区| 欧美黑人一区二区三区| www高清在线视频日韩欧美| 97精品国产97久久久久久春色| 成人欧美在线观看| 久久久久国产精品www| 福利精品视频在线| 91精品在线一区| 国产精品久久久久久中文字| 97香蕉久久夜色精品国产| 国产精品第一第二| 久久好看免费视频| 国产第一区电影| 欧美精品一本久久男人的天堂| 亚洲大胆人体在线| 日韩av最新在线观看| 久久成人精品视频| 欧美日韩国产综合视频在线观看中文| 欧美激情网友自拍| 91av在线精品| 2019国产精品自在线拍国产不卡| 亚洲18私人小影院| 亚洲欧美日韩网| 黑人欧美xxxx|