最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 開啟閃光燈做手電筒的詳解

 更新時(shí)間:2013年06月15日 11:24:30   作者:  
本篇文章是對Android中開啟閃光燈做手電筒的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
復(fù)制代碼 代碼如下:

public class HandLightActivity extends Activity implements OnClickListener{
private ToggleButton toggleButton;
private Camera m_Camera;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.handlight);
toggleButton = (ToggleButton)this.findViewById(R.id.toggleButton1);
toggleButton.setOnClickListener(this);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
@Override
public void onClick(View v) {
ToggleButton tb = (ToggleButton)v;
if(!tb.isChecked()){
PackageManager pm= this.getPackageManager();
FeatureInfo[]  features=pm.getSystemAvailableFeatures();
for(FeatureInfo f : features)
{
  if(PackageManager.FEATURE_CAMERA_FLASH.equals(f.name))   //判斷設(shè)備是否支持閃光燈
  {
  if ( null == m_Camera ) 
    { 
        m_Camera = Camera.open();     
    } 

    Camera.Parameters parameters = m_Camera.getParameters();              
    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);   
    m_Camera.setParameters( parameters );             
    m_Camera.startPreview();
toggleButton.setBackgroundColor(0x30ffffff);
  }
}
}else{
if ( m_Camera != null ) 
   { 
       m_Camera.stopPreview(); 
       m_Camera.release(); 
       m_Camera = null; 
   }
toggleButton.setBackgroundColor(0xffffffff);
}
}
}

handlight.xml
復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <ToggleButton android:id="@+id/toggleButton1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:checked="true"
        android:text="ToggleButton"/>
</LinearLayout>

需要加上權(quán)限
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.hardware.camera"/>
注意:并不是所有的設(shè)備都支持

網(wǎng)上還有一種說法是調(diào)用系統(tǒng)隱藏api,不過我試了沒反應(yīng),可能是系統(tǒng)版本問題,備份一下
用IHardwareService直接控制
Android1.5以前是直接提供這個(gè)接口的,之后呢,需要我們自己來做一下。
在你的項(xiàng)目中新建一個(gè)包Android.os,新建一個(gè)IHardwareService.aidl文件,內(nèi)容如下:
復(fù)制代碼 代碼如下:

package android.os; 

/** {@hide} */ 
interface IHardwareService 

    // obsolete flashlight support  
    boolean getFlashlightEnabled(); 
    void setFlashlightEnabled(boolean on); 
}

然后在你的程序中引入
復(fù)制代碼 代碼如下:

import android.os.IHardwareService; 

    /**
     * 設(shè)置閃光燈的開啟和關(guān)閉
     * @param isEnable
     * @author linc
     * @date 2012-3-18
     */ 
    private void setFlashlightEnabled(boolean isEnable) 
    { 
        try 
        { 
            Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class); 
            IBinder binder = (IBinder) method.invoke(null, new Object[] { "hardware" }); 

            IHardwareService localhardwareservice = IHardwareService.Stub.asInterface(binder); 
            localhardwareservice.setFlashlightEnabled(isEnable); 
        } 
        catch (Exception e) 
        { 
            e.printStackTrace(); 
        } 

    } 

這樣就可以開啟閃光燈了。要使用的權(quán)限:
復(fù)制代碼 代碼如下:

<uses-permission android:name="android.permission.FLASHLIGHT" /> 
    <uses-permission android:name="android.permission.HARDWARE_TEST" />

相關(guān)文章

  • Android編程實(shí)現(xiàn)簡易彈幕效果示例【附demo源碼下載】

    Android編程實(shí)現(xiàn)簡易彈幕效果示例【附demo源碼下載】

    這篇文章主要介紹了Android編程實(shí)現(xiàn)簡易彈幕效果,涉及Android動(dòng)畫及視圖動(dòng)態(tài)操作相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-01-01
  • Android仿微信群聊頭像效果

    Android仿微信群聊頭像效果

    這篇文章主要為大家詳細(xì)介紹了Android仿微信群聊頭像效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android原生實(shí)現(xiàn)多線程斷點(diǎn)下載實(shí)例代碼

    Android原生實(shí)現(xiàn)多線程斷點(diǎn)下載實(shí)例代碼

    本篇文章主要介紹了Android原生實(shí)現(xiàn)多線程斷點(diǎn)下載實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android實(shí)現(xiàn)圖片點(diǎn)擊放大

    Android實(shí)現(xiàn)圖片點(diǎn)擊放大

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圖片點(diǎn)擊放大,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Android實(shí)現(xiàn)啟動(dòng)引導(dǎo)圖

    Android實(shí)現(xiàn)啟動(dòng)引導(dǎo)圖

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)啟動(dòng)引導(dǎo)圖,文中示例代碼介紹的非常詳細(xì),具有為大家詳細(xì)一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Android自定義View仿支付寶芝麻信用分儀表盤

    Android自定義View仿支付寶芝麻信用分儀表盤

    前幾天支付寶剛剛升級到v9.9,看了一眼里面的芝麻信用分,儀表盤挺好看的,所以想著來寫一個(gè)這個(gè)版本的儀表盤,不說完全一模一樣,只是為了猜測支付寶在做這個(gè)的時(shí)候是如何設(shè)計(jì)的,在此記錄一下,有需要的可以參考借鑒。
    2016-09-09
  • Android實(shí)現(xiàn)連連看游戲

    Android實(shí)現(xiàn)連連看游戲

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • iOS UIButton 點(diǎn)擊無響應(yīng)的解決辦法

    iOS UIButton 點(diǎn)擊無響應(yīng)的解決辦法

    在開發(fā)中按鈕我們經(jīng)常會(huì)遇到,但是有時(shí)候會(huì)碰到一些難以處理的問題,就是按鈕點(diǎn)擊無響應(yīng),其實(shí)解決方法也不難。下面小編之家小編抽空給大家介紹iOS UIButton 點(diǎn)擊無響應(yīng)的解決辦法,需要的朋友參考下吧
    2017-12-12
  • Android中刪除Preference詳解

    Android中刪除Preference詳解

    這篇文章主要介紹了Android中刪除Preference詳解,很多時(shí)候刪除Preference總會(huì)失敗,本文著重分析刪除失敗的原因,需要的朋友可以參考下
    2015-01-01
  • Android Studio多渠道打包、自定義打包APK名稱

    Android Studio多渠道打包、自定義打包APK名稱

    Android Studio為我們提供了簡便的方法,可以多渠道打包,一次打包所有的渠道包。這篇文章主要介紹了Android Studio多渠道打包、自定義打包APK名稱,需要的朋友可以參考下
    2018-01-01

最新評論

工布江达县| 琼中| 扶绥县| 绥德县| 休宁县| 郴州市| 嘉定区| 赫章县| 垫江县| 望都县| 遂宁市| 西和县| 克什克腾旗| 呈贡县| 鄂伦春自治旗| 运城市| 娄烦县| 满洲里市| 滁州市| 衡东县| 湘潭市| 团风县| 益阳市| 宜君县| 宁国市| 滕州市| 荥阳市| 凭祥市| 宿迁市| 南和县| 故城县| 中西区| 府谷县| 吉林省| 徐闻县| 东丽区| 奎屯市| 铁岭市| 前郭尔| 永川市| 绥棱县|