Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#inhmethods)

# SubscriptionPlan.Builder

*** ** * ** ***

` public static class SubscriptionPlan.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.telephony.SubscriptionPlan.Builder |

<br />

*** ** * ** ***

Builder for a `https://developer.android.com/reference/android/telephony/SubscriptionPlan`.

## Summary

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#build()() ` |
| ` static https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#createNonrecurring(java.time.ZonedDateTime,%20java.time.ZonedDateTime)(https://developer.android.com/reference/java/time/ZonedDateTime start, https://developer.android.com/reference/java/time/ZonedDateTime end) ` Start defining a `https://developer.android.com/reference/android/telephony/SubscriptionPlan` that covers a very specific window of time, and never automatically recurs. |
| ` static https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#createNonrecurring(java.time.Period)(https://developer.android.com/reference/java/time/Period duration) ` Start defining a template for a non-recurring `https://developer.android.com/reference/android/telephony/SubscriptionPlan` with a specific duration. |
| ` static https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#createRecurring(java.time.ZonedDateTime,%20java.time.Period)(https://developer.android.com/reference/java/time/ZonedDateTime start, https://developer.android.com/reference/java/time/Period period) ` Start defining a `https://developer.android.com/reference/android/telephony/SubscriptionPlan` that starts at a specific time, and automatically recurs after each specific period of time, repeating indefinitely. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#resetNetworkTypes()() ` Reset any network types that were set with `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setNetworkTypes(int[])`. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setDataLimit(long,%20int)(long dataLimitBytes, int dataLimitBehavior) ` Set the usage threshold at which data access changes. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setDataUsage(long,%20long)(long dataUsageBytes, long dataUsageTime) ` Set a snapshot of currently known mobile data usage. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setDataUsageResetTime(java.time.ZonedDateTime)(https://developer.android.com/reference/java/time/ZonedDateTime dataUsageResetTime) ` Sets the time when the data usage allowance will reset. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setId(int)(int id) ` Sets the unique integer identifier for this subscription plan. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setNetworkTypes(int[])(int[] networkTypes) ` Set the network types this SubscriptionPlan applies to. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setStreamingAppMaxDownlinkKbps(long)(long downlinkKbps) ` Sets the maximum downstream bitrate for streaming applications on this subscription plan, in Kilobits per second (Kbps) defined in GSMA TS.43 9.1.3. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setStreamingAppMaxUplinkKbps(long)(long uplinkKbps) ` Sets the maximum upstream bitrate for streaming applications on this subscription plan, in Kilobits per second (Kbps) defined in GSMA TS.43 9.1.3. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setSubscriptionStatus(int)(int subscriptionStatus) ` Set the subscription status. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setSummary(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence summary) ` Sets a brief, human-readable summary of the subscription plan. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setTitle(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence title) ` Sets a user-visible title for this plan. |
| ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | ` https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setTypes(int[])(int[] types) ` Set the types of this subscription plan. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public methods

### build

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan build ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan` | <br /> |

### createNonrecurring

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static SubscriptionPlan.Builder createNonrecurring (ZonedDateTime start, 
                ZonedDateTime end)
```

Start defining a `https://developer.android.com/reference/android/telephony/SubscriptionPlan` that covers a very specific window of time, and never automatically recurs.

<br />

| Parameters ||
|---|---|
| `start` | `ZonedDateTime`: The exact time at which the plan starts. <br /> |
| `end` | `ZonedDateTime`: The exact time at which the plan ends. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | <br /> |

### createNonrecurring

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static SubscriptionPlan.Builder createNonrecurring (Period duration)
```

Start defining a template for a non-recurring `https://developer.android.com/reference/android/telephony/SubscriptionPlan` with a specific duration.

This is useful for describing fixed-duration plans that users can enroll in, such as a travel pass or a one-time data package. The actual start and end dates are determined upon enrollment.

Plans created with this builder should be marked with `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setSubscriptionStatus(int)` and a status of `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_INACTIVE`.

<br />

| Parameters ||
|---|---|
| `duration` | `Period`: The total duration of the plan once activated (e.g., Period.ofDays(15)). This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | A `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` instance for a non-recurring plan template. This value cannot be `null`. <br /> |

### createRecurring

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static SubscriptionPlan.Builder createRecurring (ZonedDateTime start, 
                Period period)
```

Start defining a `https://developer.android.com/reference/android/telephony/SubscriptionPlan` that starts at a specific time, and automatically recurs after each specific period of time, repeating indefinitely.

When the given period is set to exactly one month, the plan will always recur on the day of the month defined by `https://developer.android.com/reference/java/time/ZonedDateTime#getDayOfMonth()`. When a particular month ends before this day, the plan will recur on the last possible instant of that month.

<br />

| Parameters ||
|---|---|
| `start` | `ZonedDateTime`: The exact time at which the plan starts. <br /> |
| `period` | `Period`: The period after which the plan automatically recurs. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | <br /> |

### resetNetworkTypes

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder resetNetworkTypes ()
```

Reset any network types that were set with `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setNetworkTypes(int[])`. This will make the SubscriptionPlan apply to all network types.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

### setDataLimit

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setDataLimit (long dataLimitBytes, 
                int dataLimitBehavior)
```

Set the usage threshold at which data access changes.

<br />

| Parameters ||
|---|---|
| `dataLimitBytes` | `long`: the usage threshold at which data access changes. Value is a non-negative number of bytes. <br /> |
| `dataLimitBehavior` | `int`: the behavior of data access when usage reaches the threshold. Value is one of the following: - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#LIMIT_BEHAVIOR_UNKNOWN` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#LIMIT_BEHAVIOR_DISABLED` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#LIMIT_BEHAVIOR_BILLED` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#LIMIT_BEHAVIOR_THROTTLED` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | <br /> |

### setDataUsage

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setDataUsage (long dataUsageBytes, 
                long dataUsageTime)
```

Set a snapshot of currently known mobile data usage.

<br />

| Parameters ||
|---|---|
| `dataUsageBytes` | `long`: the currently known mobile data usage. Value is a non-negative number of bytes. <br /> |
| `dataUsageTime` | `long`: the time at which this snapshot was valid. Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | <br /> |

### setDataUsageResetTime

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setDataUsageResetTime (ZonedDateTime dataUsageResetTime)
```

Sets the time when the data usage allowance will reset.

This is particularly relevant for plans with a daily data allowance, as it specifies the exact moment (e.g., midnight in a specific timezone) when the usage for the next 24-hour will reset. For other types of plans, this may not be applicable.

The value provided for `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder#setDataUsage(long,%20long)` should reflect the data consumed since the last reset time.

<br />

| Parameters ||
|---|---|
| `dataUsageResetTime` | `ZonedDateTime`: The data usage reset time, or `null` if this information is not available or not applicable to the plan. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

### setId

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setId (int id)
```

Sets the unique integer identifier for this subscription plan.

This ID is provided by the carrier and can be used to uniquely identify this plan, particularly when interacting with entitlement server for enrolling.

<br />

| Parameters ||
|---|---|
| `id` | `int`: The unique integer integer identifier for the plan, or `https://developer.android.com/reference/android/telephony/SubscriptionPlan#UNSPECIFIED_ID` to clear it. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | The same `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` instance to continue building the plan. This value cannot be `null`. <br /> |

### setNetworkTypes

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setNetworkTypes (int[] networkTypes)
```

Set the network types this SubscriptionPlan applies to. By default the plan will apply to all network types. An empty array means this plan applies to no network types.

<br />

| Parameters ||
|---|---|
| `networkTypes` | `int`: an array of all network types that apply to this plan. This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_UNKNOWN` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_GPRS` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_EDGE` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_UMTS` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_CDMA` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_EVDO_0` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_EVDO_A` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_1xRTT` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_HSDPA` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_HSUPA` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_HSPA` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_IDEN` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_EVDO_B` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_LTE` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_EHRPD` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_HSPAP` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_GSM` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_TD_SCDMA` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_IWLAN` - `https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_NR` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

**See also:**

- `https://developer.android.com/`

### setStreamingAppMaxDownlinkKbps

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setStreamingAppMaxDownlinkKbps (long downlinkKbps)
```

Sets the maximum downstream bitrate for streaming applications on this subscription plan, in Kilobits per second (Kbps) defined in GSMA TS.43 9.1.3.

<br />

| Parameters ||
|---|---|
| `downlinkKbps` | `long`: The maximum downstream bandwidth in Kbps. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

### setStreamingAppMaxUplinkKbps

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setStreamingAppMaxUplinkKbps (long uplinkKbps)
```

Sets the maximum upstream bitrate for streaming applications on this subscription plan, in Kilobits per second (Kbps) defined in GSMA TS.43 9.1.3.

<br />

| Parameters ||
|---|---|
| `uplinkKbps` | `long`: The maximum upstream bitrate in Kbps. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

### setSubscriptionStatus

Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setSubscriptionStatus (int subscriptionStatus)
```

Set the subscription status.

This indicates the current state of the subscription, such as whether it is active, suspended, or in a trial period. This status provides context on the plan's availability and can be used to inform the user about their subscription's lifecycle.

<br />

| Parameters ||
|---|---|
| `subscriptionStatus` | `int`: the current subscription status. Value is one of the following: - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_UNKNOWN` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_ACTIVE` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_INACTIVE` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_TRIAL` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#SUBSCRIPTION_STATUS_SUSPENDED` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | This value cannot be `null`. <br /> |

### setSummary

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setSummary (CharSequence summary)
```

Sets a brief, human-readable summary of the subscription plan.

This could include details about the plan's features, such as "10GB of high-speed data" or "Unlimited talk and text". This summary is intended for display to the user.

<br />

| Parameters ||
|---|---|
| `summary` | `CharSequence`: A short, user-friendly summary of the plan, or `null` to clear it. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | <br /> |

### setTitle

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setTitle (CharSequence title)
```

Sets a user-visible title for this plan.

This title is provided by the carrier to identify the subscription plan, for example, "Unlimited+" or "Family plan". It is intended for display to the user.

<br />

| Parameters ||
|---|---|
| `title` | `CharSequence`: The title of the plan. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | The same `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` instance to continue building the plan. <br /> |

### setTypes

Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SubscriptionPlan.Builder setTypes (int[] types)
```

Set the types of this subscription plan. A plan can have multiple types, and this method will return all that are applicable. For example, a plan could be both a cellular plan and a postpaid plan.

<br />

| Parameters ||
|---|---|
| `types` | `int`: This value cannot be `null`. Value is one of the following: - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_CELLULAR` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_SATELLITE` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_IOT` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_POSTPAID` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_PREPAID` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_DATA_ONLY` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_FAMILY` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_BUSINESS` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_ROAMING` - `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_TETHERING` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telephony/SubscriptionPlan.Builder` | An array containing the applicable `PLAN_TYPE_` constants. This value cannot be `null`. <br /> |

**See also:**

- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_CELLULAR`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_SATELLITE`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_IOT`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_POSTPAID`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_PREPAID`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_DATA_ONLY`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_FAMILY`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_BUSINESS`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_ROAMING`
- `https://developer.android.com/reference/android/telephony/SubscriptionPlan#PLAN_TYPE_TETHERING`