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