Я пытаюсь включить обмен e-sim в приложении, которое принадлежит телекоммуникационной компании, в которой я работаю, и у меня есть несколько вопросов, прежде чем я начну.
static final String ACTION_DOWNLOAD_SUBSCRIPTION = "download_subscription";
static final String LPA_DECLARED_PERMISSION = "test.esim.app.lpa.permission.BROADCAST";
BroadcastReceiver receiver =
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (!ACTION_DOWNLOAD_SUBSCRIPTION.equals(intent.getAction())) {
return;
}
resultCode = getResultCode();
detailedCode = intent.getIntExtra(EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE, 0);
resultIntent = intent;
}
};
context.registerReceiver(receiver, new IntentFilter(ACTION_DOWNLOAD_SUBSCRIPTION),LPA_DECLARED_PERMISSION,null);
DownloadableSubscription sub = DownloadableSubscription.forActivationCode(encodedActivationCode);
Intent intent = new Intent(ACTION_DOWNLOAD_SUBSCRIPTION);
PendingIntent callbackIntent = PendingIntent.getBroadcast(getContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mgr.downloadSubscription(sub, false , callbackIntent);
- В LPA_DECLARED_PERMISSION мне просто нужно привязать идентификатор моего приложения к «.lpa.permission.BROADCAST», поскольку я не являюсь OEM-производителем устройства. Это правильно?
- Кодированный код активации, мне понадобится серверная часть / API, чтобы отправить его мне правильно?
- Как проверить состояние загрузки профиля, было ли оно успешным или сбой и в чем заключается сбой.
Поскольку меня просили, они не хотят менять местами / переключаться, поэтому я сделал это false в downloadSubscription и, насколько я понял, после загрузки , Я должен выполнить следующее, откуда я могу получить идентификатор подписки.
stati c final String ACTION_SWITCH_TO_SUBSCRIPTION = "switch_to_subscription"; stati c конечная строка LPA_DECLARED_PERMISSION = "test.esim.app.lpa.permission.BROADCAST"; Получатель BroadcastReceiver = новый BroadcastReceiver () {@Override publi c void onReceive (Контекст контекста, намерение намерения) {if (! LPA_DECLARED_PERMISSION.equals (intent.getAction ())) {return; } resultCode = getResultCode (); detailCode = intent.getIntExtra (EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE, 0); resultIntent = намерение; }}; context.registerReceiver (получатель, новый IntentFilter (ACTION_SWITCH_TO_SUBSCRIPTION), LPA_DECLARED_PERMISSION, null); Намерение намерения = новое намерение (LPA_DECLARED_PERMISSION); PendingIntent callbackIntent = PendingIntent.getBroadcast (getContext (), 0, намерение, PendingIntent.FLAG_UPDATE_CURRENT); mgr.switchToSubscription (subscriptionId, callbackIntent);