Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
QR-Codes sind heutzutage überall zu finden und dienen als schnelle Links zu Websites, Rabatten oder wichtigen Informationen. Jedoch ist die Methode, sie zu scannen, nicht immer dieselbe auf allen Android-Geräten. Abhängig von Ihrem Telefonmodell können Sie möglicherweise Ihre integrierte Kamera-App verwenden oder benötigen eine separate.QR-Code-Scanner. Um jegliche Verwirrung zu beseitigen, haben wir eine ausführliche Anleitung zusammengestellt, die Ihnen hilft, QR-Codes mühelos auf jedem Android-Smartphone oder -Tablet zu scannen. Wir werden auch eine programmatische Möglichkeit erkunden, QR-Codes mithilfe derIronQR-Bibliothek.
Android-Geräte sind oft mit nativen Funktionen ausgestattet, um das Scannen von QR-Codes zu unterstützen. Diese eingebauten Methoden bieten Komfort und Sicherheit, da sie keine Installation von Drittanbieteranwendungen erfordern. Lassen Sie uns die wichtigsten integrierten Optionen untersuchen, die Android-Gerätenutzern zur Verfügung stehen.
Google Lens ist ein leistungsstarkes Werkzeug zur visuellen Analyse, das QR-Code-Scan-Funktionen umfasst. Diese Anwendung ist oft auf Android-Geräten vorinstalliert und kann über verschiedene Einstiegspunkte aufgerufen werden.
Benutzer können Google Lens auf ihrem Android-Telefon über verschiedene Methoden aufrufen, abhängig von ihrem Gerät und ihren Vorlieben. Der gebräuchlichste Ansatz erfolgt über die Google App. Hier sind die Schritte, um auf Google Lens zuzugreifen:
Öffnen Sie die Google App
Suchen Sie das Google Lens-Symbol in der Nähe der Suchleiste.
Tippen Sie auf das Symbol, um Google Lens zu aktivieren.
Für diejenigen, die lieber mit vorhandenen Bildern arbeiten, bietet Google Photos einen weiteren Einstiegspunkt. Der Prozess ist wie folgt:
Google Fotos öffnen
Tippen Sie auf das Google Lens-Symbol unten auf dem Bildschirm. Danach können Sie die Google Lens-Funktion zum Scannen von QR-Codes verwenden.
Einige Android-Geräte, insbesondere solche, die neuere Versionen des Betriebssystems verwenden, integrieren Google Lens direkt in die native Kameraanwendung. Benutzer dieser Geräte können Google Lens aufrufen, indem sie:
Starten der Kamera-App
Auf der Suche nach einer Option „Modi“ oder „Mehr“
Sobald Google Lens aktiviert ist, ist der Vorgang zum Scannen eines QR-Codes unkompliziert. So verwenden Sie es:
Richten Sie die Kamera Ihres Geräts auf den QR-Code.
Warten Sie, bis Google Lens automatisch einen Scan startet.
Wenn ein QR-Code erkannt wird, erscheint ein Popup mit den kodierten Informationen.
Einige Android-Geräte bieten eine Schnellkachel in den Schnelleinstellungen für das Scannen von QR-Codes an, die einen schnellen Zugriff auf diese Funktionalität ermöglicht. Um diese Funktion einzurichten und zu nutzen:
Greifen Sie auf das Schnellbedienfeld zu, indem Sie vom oberen Bildschirmrand nach unten wischen.
Öffnen Sie das gesamte Panel mit einem zweiten Wischen nach unten.
Suchen Sie die Bearbeitungsfunktion, die oft durch ein Stiftsymbol oder ein Drei-Punkte-Symbol dargestellt wird.
Wechseln Sie in den Bearbeitungsmodus und suchen Sie nach einer Kachel mit der Bezeichnung "QR code" oder "QR Scanner".
Ziehen Sie dieses Feld in den aktiven Bereich der Schnelleinstellungen.
Speichern Sie die Änderungen, um das neue Layout zu bestätigen.
Um den QR-Code-Scanner für Schnelleinstellungen zu verwenden:
Öffnen Sie das Schnellsteuerungsfeld.
Tippen Sie auf das Kachel für den QR-Code-Scanner.
Das Gerät startet eine QR-Code-Scan-Oberfläche, die möglicherweise die Kamera-App oder Google Lens verwendet.
Richten Sie die Kamera auf den QR-Code, um den Scan zu starten.
Diese eingebauten Methoden bieten Android-Nutzern effiziente Möglichkeiten, QR-Codes zu scannen, ohne zusätzliche Software installieren zu müssen. Benutzer können schnell auf die in QR-Codes kodierten Informationen zugreifen, während die Sicherheit und Integrität ihrer Geräte gewahrt bleibt. Abgesehen davon, können Sie die Drittanbieter-App zum Scannen von QR-Codes auf Android-Handys über den Google Play Store herunterladen.
Obwohl die eingebauten Methoden, die wir besprochen haben, hervorragende QR-Code-Scanfunktionen für Endbenutzer bieten, benötigen Entwickler oft robustere Werkzeuge, um QR-Codes innerhalb ihrer Anwendungen zu erstellen und zu manipulieren. Hier kommt die IronQR .NET-Bibliothek ins Spiel. Es bietet eine leistungsstarke Lösung für QR-Code-Funktionalität in der Android-App-Entwicklung.
IronQRist eine umfassende .NET-Bibliothek, die zum Generieren entwickelt wurde,lesen von QR-Codesund QR-Codes zu bearbeiten. Obwohl es hauptsächlich auf .NET-Entwickler abzielt, kann es in der Android-Entwicklung durch Frameworks wie Xamarin oder .NET MAUI genutzt werden. Es ist eine perfekte Wahl für plattformübergreifende Anwendungen mit QR-Funktionalität.
IronQR bietet viele Funktionen im Hinblick auf die QR-Code-Funktionalität:
QR-Code-Generierung: Entwickler können QR-Codes programmgesteuert erstellen und dabei verschiedene Parameter wie Größe, Fehlerkorrekturstufe und Inhalt steuern.
Erweiterte Scan-Funktionen: Die Bibliothek bietet robuste Algorithmen zum Lesen von QR-Codes, selbst unter schwierigen Bedingungen oder aus Bildern.
Anpassungsoptionen: IronQR ermöglicht die Erstellung von maßgeschneiderten QR-Codes, einschließlich der Hinzufügung von Logos oder benutzerdefinierten Farben, bei gleichzeitiger Beibehaltung der Scannbarkeit.
Unterstützung für verschiedene Datentypen: Die Bibliothek kann verschiedene Arten von Daten, einschließlich URLs, Kontaktinformationen und benutzerdefiniertem Text, in QR-Codes kodieren.
Für Android-Entwickler, die in einer .NET-Umgebung arbeiten, kann IronQR in Projekte integriert werden, um serverseitige QR-Code-Generierung bereitzustellen oder die Fähigkeiten von Android-Anwendungen zu erweitern. Diese Integration ermöglicht komplexere QR-Code-Operationen, die mit Standard-Android-Bibliotheken möglicherweise nicht möglich sind.
Entwickler können Android-Anwendungen mit anspruchsvollen QR-Code-Funktionalitäten erstellen, wie z. B. Stapel-QR-Code-Generierung, fortschrittliche Decodierungsfunktionen oder benutzerdefinierte QR-Code-Designs, die den Anforderungen des Brandings entsprechen. Die IronQR .NET-Bibliothek dient als ein leistungsstarkes Werkzeug für Entwickler, die die QR-Code-Fähigkeiten ihrer Android-Anwendungen über die standardmäßigen integrierten Funktionen hinaus erweitern möchten.
Hier ist eine Demonstration der .NET MAUI QR Code Scanner App mit IronQR. Nach der Installation der IronQR-Bibliothek im Projekt, aktualisieren Sie den MauiPage.xaml-Code:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="QR_Code_Business_Card.MainPage"
Title="QR Code Reader">
<Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*">
<!-- Left side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20">
<Button x:Name="ScanQRButton"
Text="Scan QR Code"
Clicked="OnScanQRButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
<Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True">
<Grid>
<Image x:Name="SelectedImage"
HeightRequest="300"
WidthRequest="300"
Aspect="AspectFit" />
<ActivityIndicator x:Name="LoadingIndicator"
IsRunning="False"
IsVisible="False"
Color="#6200EE"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</Frame>
</VerticalStackLayout>
<!-- Divider -->
<BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
WidthRequest="1"
Color="#E0E0E0"
Margin="10,0" />
<!-- Right side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20">
<Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True">
<Editor x:Name="ResultEditor"
HeightRequest="200"
IsReadOnly="True"
Placeholder="QR code content will appear here"
FontSize="16" />
</Frame>
<Button x:Name="CopyTextButton"
Text="Copy Text"
Clicked="OnCopyTextButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
</VerticalStackLayout>
</Grid>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="QR_Code_Business_Card.MainPage"
Title="QR Code Reader">
<Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*">
<!-- Left side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20">
<Button x:Name="ScanQRButton"
Text="Scan QR Code"
Clicked="OnScanQRButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
<Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True">
<Grid>
<Image x:Name="SelectedImage"
HeightRequest="300"
WidthRequest="300"
Aspect="AspectFit" />
<ActivityIndicator x:Name="LoadingIndicator"
IsRunning="False"
IsVisible="False"
Color="#6200EE"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</Frame>
</VerticalStackLayout>
<!-- Divider -->
<BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
WidthRequest="1"
Color="#E0E0E0"
Margin="10,0" />
<!-- Right side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20">
<Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True">
<Editor x:Name="ResultEditor"
HeightRequest="200"
IsReadOnly="True"
Placeholder="QR code content will appear here"
FontSize="16" />
</Frame>
<Button x:Name="CopyTextButton"
Text="Copy Text"
Clicked="OnCopyTextButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
</VerticalStackLayout>
</Grid>
</ContentPage>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:@Class="QR_Code_Business_Card.MainPage" Title="QR Code Reader"> <Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*"> <!-- Left side -- > <VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20"> <Button x:Name="ScanQRButton" Text="Scan QR Code" Clicked="OnScanQRButtonClicked" HorizontalOptions="Fill" BackgroundColor="#6200EE" TextColor="White" FontAttributes="Bold" CornerRadius="10" /> <Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True"> <Grid> <Image x:Name="SelectedImage" HeightRequest="300" WidthRequest="300" Aspect="AspectFit" /> <ActivityIndicator x:Name="LoadingIndicator" IsRunning="False" IsVisible="False" Color="#6200EE" VerticalOptions="Center" HorizontalOptions="Center" /> </Grid> </Frame> </VerticalStackLayout> <!-- Divider -- > <BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" WidthRequest="1" Color="#E0E0E0" Margin="10,0" /> <!-- Right side -- > <VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20"> <Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True"> <Editor x:Name="ResultEditor" HeightRequest="200" IsReadOnly="True" Placeholder="QR code content will appear here" FontSize="16" /> </Frame> <Button x:Name="CopyTextButton" Text="Copy Text" Clicked="OnCopyTextButtonClicked" HorizontalOptions="Fill" BackgroundColor="#6200EE" TextColor="White" FontAttributes="Bold" CornerRadius="10" /> </VerticalStackLayout> </Grid> </ContentPage>
Aktualisieren Sie danach den Maui.Page.xaml.cs-Code:
using IronQr;
using IronSoftware.Drawing;
namespace QR_Code_Business_Card
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
License.LicenseKey = "License-Key";
}
private async void OnScanQRButtonClicked(object sender, EventArgs e)
{
try
{
var result = await FilePicker.PickAsync(new PickOptions
{
FileTypes = FilePickerFileType.Images,
PickerTitle = "Pick an image with a QR code"
});
if (result != null)
{
string filePath = result.FullPath;
SelectedImage.Source = ImageSource.FromFile(filePath);
// Show loading indicator
LoadingIndicator.IsVisible = true;
LoadingIndicator.IsRunning = true;
ResultEditor.Text = "Processing QR code...";
// Process QR code in the background
await Task.Run(() =>
{
var inputBmp = AnyBitmap.FromFile(filePath);
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
MainThread.BeginInvokeOnMainThread(() =>
{
if (results.Any())
{
string scannedData = results.First().Value.ToString();
ResultEditor.Text = scannedData;
}
else
{
ResultEditor.Text = "No QR code found in the image.";
}
// Hide loading indicator
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
});
});
}
}
catch (Exception ex)
{
ResultEditor.Text = $"An error occurred: {ex.Message}";
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
}
}
private async void OnCopyTextButtonClicked(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(ResultEditor.Text))
{
await Clipboard.SetTextAsync(ResultEditor.Text);
await DisplayAlert("Success", "Text copied to clipboard", "OK");
}
else
{
await DisplayAlert("Error", "No text to copy", "OK");
}
}
}
}
using IronQr;
using IronSoftware.Drawing;
namespace QR_Code_Business_Card
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
License.LicenseKey = "License-Key";
}
private async void OnScanQRButtonClicked(object sender, EventArgs e)
{
try
{
var result = await FilePicker.PickAsync(new PickOptions
{
FileTypes = FilePickerFileType.Images,
PickerTitle = "Pick an image with a QR code"
});
if (result != null)
{
string filePath = result.FullPath;
SelectedImage.Source = ImageSource.FromFile(filePath);
// Show loading indicator
LoadingIndicator.IsVisible = true;
LoadingIndicator.IsRunning = true;
ResultEditor.Text = "Processing QR code...";
// Process QR code in the background
await Task.Run(() =>
{
var inputBmp = AnyBitmap.FromFile(filePath);
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
MainThread.BeginInvokeOnMainThread(() =>
{
if (results.Any())
{
string scannedData = results.First().Value.ToString();
ResultEditor.Text = scannedData;
}
else
{
ResultEditor.Text = "No QR code found in the image.";
}
// Hide loading indicator
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
});
});
}
}
catch (Exception ex)
{
ResultEditor.Text = $"An error occurred: {ex.Message}";
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
}
}
private async void OnCopyTextButtonClicked(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(ResultEditor.Text))
{
await Clipboard.SetTextAsync(ResultEditor.Text);
await DisplayAlert("Success", "Text copied to clipboard", "OK");
}
else
{
await DisplayAlert("Error", "No text to copy", "OK");
}
}
}
}
Imports IronQr
Imports IronSoftware.Drawing
Namespace QR_Code_Business_Card
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
License.LicenseKey = "License-Key"
End Sub
Private Async Sub OnScanQRButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim result = Await FilePicker.PickAsync(New PickOptions With {
.FileTypes = FilePickerFileType.Images,
.PickerTitle = "Pick an image with a QR code"
})
If result IsNot Nothing Then
Dim filePath As String = result.FullPath
SelectedImage.Source = ImageSource.FromFile(filePath)
' Show loading indicator
LoadingIndicator.IsVisible = True
LoadingIndicator.IsRunning = True
ResultEditor.Text = "Processing QR code..."
' Process QR code in the background
Await Task.Run(Sub()
Dim inputBmp = AnyBitmap.FromFile(filePath)
Dim imageInput As New QrImageInput(inputBmp)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
MainThread.BeginInvokeOnMainThread(Sub()
If results.Any() Then
Dim scannedData As String = results.First().Value.ToString()
ResultEditor.Text = scannedData
Else
ResultEditor.Text = "No QR code found in the image."
End If
' Hide loading indicator
LoadingIndicator.IsVisible = False
LoadingIndicator.IsRunning = False
End Sub)
End Sub)
End If
Catch ex As Exception
ResultEditor.Text = $"An error occurred: {ex.Message}"
LoadingIndicator.IsVisible = False
LoadingIndicator.IsRunning = False
End Try
End Sub
Private Async Sub OnCopyTextButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
If Not String.IsNullOrWhiteSpace(ResultEditor.Text) Then
Await Clipboard.SetTextAsync(ResultEditor.Text)
Await DisplayAlert("Success", "Text copied to clipboard", "OK")
Else
Await DisplayAlert("Error", "No text to copy", "OK")
End If
End Sub
End Class
End Namespace
Führen Sie anschließend die Anwendung aus, und Sie sehen die folgende Benutzeroberfläche. Nach der Auswahl des QR-Codes wird ein QR-Code gescannt und der Ergebnistext im Textfeld angezeigt, den Sie mit der Kopierschaltfläche kopieren können.
Das Scannen von QR-Codes auf Android-Geräten wird durch integrierte Funktionen wie Google Lens und Kacheln für Schnelleinstellungen vereinfacht. Diese nativen Methoden bieten Benutzern schnellen und sicheren Zugriff auf QR-Code-Informationen, ohne dass zusätzliche Apps benötigt werden.
Für Entwickler, die erweiterte QR-Code-Funktionen in ihre Anwendungen integrieren möchten, bietet die IronQR .NET-Bibliothek eine leistungsstarke Lösung. Es ermöglicht die Erstellung von benutzerdefinierten QR-Codes, fortschrittliche Scan-Funktionen und umfassende Anpassungsoptionen. IronQR bietet einekostenloser Testfür Entwickler, um seine Funktionen zu erkunden, mit Lizenzen ab $749, was es zu einer lohnenswerten Investition für professionelle QR-Code-Integration in Android-Anwendungen macht.
9 .NET API-Produkte für Ihre Bürodokumente