Como adicionar política de privacidade no aplicativo
Android Kotlin

Como adicionar política de privacidade no aplicativo





Nesse tutorial irei descrever como adicionar uma política de privacidade quando o usuário abre o aplicativo e será preciso que ele aceite ela para poder prosseguir mas se ele negar o aplicativo será fechado.

A informação sobre aceitar firará gravada na shared preferences portanto será necessário que ele aceite para prosseguir no aplicativo.

Então vamos começar a programar em Kotlin para que isso seja feito.

Como adicionar política de privacidade no aplicativo

Primeiramente vamos criar um projeto vazio(Empty).

Logo depois de ter criado o projeto devemos adicionar uma nova activity vazia para inserir a política de privacidade.

Inserindo activity vazia
Inserindo activity vazia

Logo após vamos inserir um nome para a activity como na imagem seguinte.

Inserindo nome na activity de poç[itica de privacidade
Inserindo nome na activity de poç[itica de privacidade

Então nesse momento vamos ter a activity PoliticaActivity e sua respectiva xml activity_politica na pasta res/layout.

Enfim Programando.

Portanto nesse momento vamos começar a programar e fazer com que nosso aplicativo exiba a política de privacidade e peça para que o usuário a aceite antes de poder usa-lo.

Então na nossa MainActivity devemos ter o seguinte código.

package br.com.uware.polticadeprivacidade

import android.content.Intent
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val pref: SharedPreferences = getSharedPreferences("politica", 0)
        var aceito = pref.getBoolean("aceita", false)
        if (aceito == false) {
            finish()
            val intent = Intent(this, PoliticaActivity::class.java)
            startActivity(intent)
        }
        btnPolitica.setOnClickListener {
            val intent = Intent(this, PoliticaActivity::class.java)
            startActivity(intent)
        }
    }
}

Logo depois nossa activity_main devemos mudar o código da mesma forma para que fique como o seguinte.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Politica Aceita!!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <Button
        android:id="@+id/btnPolitica"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Política de Privacidade"
        app:layout_constraintBottom_toBottomOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>




Então agora devemos mudar o código da PoliticaActivity que foi criada e seu respectivo layout.

Portanto a PoliticaActivity deve ficar com o seguinte código.

package br.com.uware.polticadeprivacidade

import android.content.Intent
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import kotlinx.android.synthetic.main.activity_politica.*

class PoliticaActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_politica)

        wvPolitica.loadUrl("https://uware.com.br/teste-de-politica-de-privacidade/")
        val pref: SharedPreferences = getSharedPreferences("politica", 0)
        var aceito = pref.getBoolean("aceita", false)
        if (aceito == true) {
            layBtn.visibility = View.GONE
        }
        btnAccept.setOnClickListener {
            val editor = pref.edit()
            editor.putBoolean("aceita", true)
            editor.commit()
            val intent = Intent(this, MainActivity::class.java)
            startActivity(intent)
            finish()
        }
        btnDeny.setOnClickListener {
            val editor = pref.edit()
            editor.putBoolean("aceita", false)
            editor.commit()
            finish()
            finishAffinity()
        }
    }
}

Assim como sua activity_politica.xml deve ficar como o seguinte.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".PoliticaActivity">
    <WebView
        android:id="@+id/wvPolitica"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/layBtn"/>

    <LinearLayout
        android:id="@+id/layBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintBottom_toBottomOf="parent">
        <Button
            android:id="@+id/btnAccept"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Aceitar"
            android:textColor="#FFFFFF"
            android:backgroundTint="#006400"
            android:layout_weight="1"/>
        <Button
            android:id="@+id/btnDeny"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Negar"
            android:textColor="#FFFFFF"
            android:backgroundTint="#CA1212"
            android:layout_weight="1"/>
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

A ultima mudança é no arquivo AndroidManifest.xml para que possa ter acesso a internet e deve ficar como o seguinte.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.uware.polticadeprivacidade">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".PoliticaActivity"></activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Após ter feito as modificações é só compilar e executar o aplicativo para ver como tudo funciona.

Enfim espero poder ter ajudado com mais este tutorial de como adicionar política de privacidade no aplicativo.

Veja também como usar TextView com uma fonte alternativa.





Rodrigo Leutz
Desenvolvedor Web e Android ( Kotlin e Java )
https://uware.com.br