Xamarin.Essentials:懐中電灯Xamarin.Essentials: Flashlight

Flashlight クラスを使用すると、デバイスのカメラのフラッシュを懐中電灯にする機能をオンまたはオフにできます。The Flashlight class has the ability to turn on or off the device's camera flash to turn it into a flashlight.

作業開始Get started

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

Flashlight の機能にアクセスするには、次のプラットフォーム固有の設定が必要です。To access the Flashlight functionality the following platform specific setup is required.

Flashlight および Camera アクセス許可が必要であり、Android プロジェクトで構成する必要があります。The Flashlight and Camera permissions are required and must be configured in the Android project. これは次の方法で追加できます。This can be added in the following ways:

[プロパティ] フォルダーにある AssemblyInfo.cs ファイルを開き、以下を追加します。Open the AssemblyInfo.cs file under the Properties folder and add:

[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.Camera)]

または、Android マニフェストを追加します。OR Update Android Manifest:

[プロパティ] フォルダーにある AndroidManifest.xml ファイルを開き、manifest ノードの内部に以下を追加します。Open the AndroidManifest.xml file under the Properties folder and add the following inside of the manifest node.

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

または、Android プロジェクトを右クリックし、プロジェクトのプロパティを開きます。Or right click on the Android project and open the project's properties. [Android マニフェスト] の下で [必要なアクセス許可:] 領域を探し、FLASHLIGHT および CAMERA アクセス許可をオンにします。Under Android Manifest find the Required permissions: area and check the FLASHLIGHT and CAMERA permissions. これにより、AndroidManifest.xml ファイルが自動的に更新されます。This will automatically update the AndroidManifest.xml file.

これらのアクセス許可を追加すると、Google Play では特定のハードウェアを持たないデバイスが自動的に除外されますBy adding these permissions Google Play will automatically filter out devices without specific hardware. Android プロジェクトで AssemblyInfo.cs ファイルに以下を追加することにより、これを回避できます。You can get around this by adding the following to your AssemblyInfo.cs file in your Android project:

[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]

Flashlight の使用Using Flashlight

自分のクラスに Xamarin.Essentials への参照を追加します。Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

懐中電灯は、TurnOnAsync および TurnOffAsync メソッドを使用してオンまたはオフにできます。The flashlight can be turned on and off through the TurnOnAsync and TurnOffAsync methods:

try
{
    // Turn On
    await Flashlight.TurnOnAsync();

    // Turn Off
    await Flashlight.TurnOffAsync();
}
catch (FeatureNotSupportedException fnsEx)
{
    // Handle not supported on device exception
}
catch (PermissionException pEx)
{
    // Handle permission exception
}
catch (Exception ex)
{
    // Unable to turn on/off flashlight
}

プラットフォームの実装の詳細Platform Implementation Specifics

Flashlight クラスは、デバイスのオペレーティング システムに基づいて最適化されています。The Flashlight class has been optimized based on the device's operating system.

API レベル 23 以上API Level 23 and Higher

新しい API レベルでは、デバイスのフラッシュ ユニットをオン/オフするために、Torch モードが使用されます。On newer API levels, Torch Mode will be used to turn on or off the flash unit of the device.

API レベル 22 以下API Level 22 and Lower

カメラ ユニットの FlashMode をオン/オフするために、カメラ サーフェス テクスチャが作成されます。A camera surface texture is created to turn on or off the FlashMode of the camera unit.

APIAPI