Flutter platform package for Android which provides concrete implementations for various device info lookups

Flutter platform package for Android which provides concrete implementations for various device info lookups.

Overview

By using SnooperAndroid you can retrieve the following information:

  • Simple Device Applications List
  • Detailed Device Applications List
    • App icons
    • Activities
    • Services
    • Application Flags (is system app, is debuggable, etc.)
    • APK Signatures
    • Other Metadata

Specs & Constraints

Flutter Android plugin embedding version: V2 Flutter version: >=2.5.0 Dart version: >=2.17.0-27.0.dev <3.0.0 Dart sound null-safety: ✅ Min Android SDK: 21

APIs provided by SnooperAndroid.dart:

Simple Package Info:

List<SimpleAndroidPackageInfo> simplePackageInfos = await SnooperAndroid.simplePackageInfos;

Detailed Package Info:

List<DetailedAndroidPackageInfo> detailedPackageInfos = await SnooperAndroid.detailedPackageInfos;

Example App

Available at ./example/lib/

Android Permissions

Adding snooper_android as a dependency to your project will make the app inherit the QUERY_ALL_PACKAGES permission:

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

which can be verified in the app’s merged manifest.

It can be removed by adding the tools namespace and a permission removal tag to your app’s AndroidManifest.xml:

<manifest xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:node="remove" />
</manifest>

Removing QUERY_ALL_PACKAGES will result in all user-installed apps disappearing from the results returned by the SnooperAndroid APIs.

GitHub

View Github