android / android/car-samples

CAR_MILEAGE permission not availble

Open
#20 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
464
Forks
191
PR merge metrics
No merged PRs in 30d

Description

Hello

I am getting a security exceptions when I trying to get the value of ODOMETER using VehiclePropertyIds.PERF_ODOMETER, saving that requires android.car.permission.CAR_MILEAGE permission for access, But I add permission in menifest.xml and requesting permission at run time as well

```xml













```

```java
if (checkSelfPermission("android.car.permission.CAR_MILEAGE") != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{"android.car.permission.CAR_MILEAGE", Car.PERMISSION_CONTROL_DISPLAY_UNITS , Car.PERMISSION_SPEED, Car.PERMISSION_POWERTRAIN, Car.PERMISSION_READ_DISPLAY_UNITS}, REQUEST_CODE_ASK_PERMISSIONS);
} else {
initCarApi();
}

try {
CarPropertyValue carProperty = mCarPropertyManager.getProperty(VehiclePropertyIds.PERF_ODOMETER, DEFAULT_KEYS_SEARCH_GLOBAL);
Log.d(TAG, "MilanMistry: " + carProperty.getValue());
} catch (SecurityException e) {
Log.d(TAG, "MilanMistry: " + e.getMessage());
}
```
And I check Car.java class from android.car library there in no permission like android.car.permission.CAR_MILEAGE, But in official document suggesting this permission

```Java
public static final String APP_FOCUS_SERVICE = "app_focus";
public static final String AUDIO_SERVICE = "audio";
public static final String CAR_CONFIGURATION_SERVICE = "configuration";
public static final String CAR_EXTRA_MEDIA_PACKAGE = "android.car.intent.extra.MEDIA_PACKAGE";
public static final String CAR_INTENT_ACTION_MEDIA_TEMPLATE = "android.car.intent.action.MEDIA_TEMPLATE";
public static final String CAR_NAVIGATION_SERVICE = "car_navigation_service";
public static final String CAR_UX_RESTRICTION_SERVICE = "uxrestriction";
public static final int CONNECTION_TYPE_EMBEDDED = 5;
public static final String INFO_SERVICE = "info";
public static final String PACKAGE_SERVICE = "package";
public static final String PERMISSION_CAR_CONTROL_AUDIO_SETTINGS = "android.car.permission.CAR_CONTROL_AUDIO_SETTINGS";
public static final String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
public static final String PERMISSION_CAR_INFO = "android.car.permission.CAR_INFO";
public static final String PERMISSION_CAR_NAVIGATION_MANAGER = "android.car.permission.CAR_NAVIGATION_MANAGER";
public static final String PERMISSION_CONTROL_DISPLAY_UNITS = "android.car.permission.CONTROL_CAR_DISPLAY_UNITS";
public static final String PERMISSION_CONTROL_INTERIOR_LIGHTS = "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS";
public static final String PERMISSION_ENERGY = "android.car.permission.CAR_ENERGY";
public static final String PERMISSION_ENERGY_PORTS = "android.car.permission.CAR_ENERGY_PORTS";
public static final String PERMISSION_EXTERIOR_ENVIRONMENT = "android.car.permission.CAR_EXTERIOR_ENVIRONMENT";
public static final String PERMISSION_IDENTIFICATION = "android.car.permission.CAR_IDENTIFICATION";
public static final String PERMISSION_POWERTRAIN = "android.car.permission.CAR_POWERTRAIN";
public static final String PERMISSION_READ_DISPLAY_UNITS = "android.car.permission.READ_CAR_DISPLAY_UNITS";
public static final String PERMISSION_READ_INTERIOR_LIGHTS = "android.car.permission.READ_CAR_INTERIOR_LIGHTS";
public static final String PERMISSION_READ_STEERING_STATE = "android.car.permission.READ_CAR_STEERING";
public static final String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
public static final String PROPERTY_SERVICE = "property";
```

Contributor guide

Open the contributing guide

Research direction

Start with the permission constants in Car.java and the VehiclePropertyIds.PERF_ODOMETER access in MainActivity, then compare them with the AndroidManifest.xml declarations and runtime request shown here. Verify which permission and platform version govern odometer access; the issue is done when the sample uses the supported permission or documents the limitation clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.