Skip to main content

Android Integration

On this page you'll find integration guides for Android platforms. Use the tabs to pick your framework.

Java Integration

Consent URL: https://consent.example.com/consent?cr_id=...&mobile_app=true&app_scheme=myapp

Basic Implementation

import android.content.Intent;
import android.net.Uri;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.Button;

public class ConsentActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consent);

Button openButton = findViewById(R.id.open_consent_button);
openButton.setOnClickListener(v -> openConsent());
}

private void openConsent() {
String consentUrl = "https://consent.example.com/consent?cr_id=...&mobile_app=true&app_scheme=myapp";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(consentUrl));
startActivity(intent);
}
}

Configure AndroidManifest.xml:

<activity
android:name=".ConsentActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="myapp"
android:host="consent"
android:path="/callback" />
</intent-filter>
</activity>

Handle callbacks in ConsentActivity.java:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_consent);

handleDeepLink(getIntent());
}

private void handleDeepLink(Intent intent) {
Uri uri = intent.getData();

if (uri != null && "myapp".equals(uri.getScheme()) && "consent".equals(uri.getHost())) {
String status = uri.getQueryParameter("status");
String receiptId = uri.getQueryParameter("receiptId");
String crId = uri.getQueryParameter("crId");

Log.d("ConsentActivity", "Consent completed with status: " + status);
Log.d("ConsentActivity", "Receipt ID: " + receiptId + ", CR ID: " + crId);

if (status != null) {
// Handle consent completion
handleConsentResult(status, receiptId, crId);
}
}
}

private void handleConsentResult(String status, String receiptId, String crId) {
// Update UI based on consent result
}