<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.mobeleader.com/index.php?action=history&amp;feed=atom&amp;title=SDKs%3AMiner%3AAndroid%3Aindex</id>
	<title>SDKs:Miner:Android:index - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mobeleader.com/index.php?action=history&amp;feed=atom&amp;title=SDKs%3AMiner%3AAndroid%3Aindex"/>
	<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;action=history"/>
	<updated>2026-04-28T16:05:57Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=3019&amp;oldid=prev</id>
		<title>Asier: /* Cambios en el archivo build.gradle. */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=3019&amp;oldid=prev"/>
		<updated>2019-11-25T17:28:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Cambios en el archivo build.gradle.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión del 19:28 25 nov 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Línea 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;iguales o &lt;/del&gt;superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;o &lt;/del&gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ICE CREAM SANDWICH&lt;/del&gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;version &lt;/ins&gt;&amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &lt;/ins&gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ice Cream Sandwich&lt;/ins&gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== INSTALACION DE LA LIBRERIA. ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== INSTALACION DE LA LIBRERIA. ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot;&gt;Línea 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     repositories {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     repositories {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         mavenCentral()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         mavenCentral()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         maven { url &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://maven.mobeleader.com&#039; }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         maven { url &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://maven.mobeleader.com&#039; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=1250&amp;oldid=prev</id>
		<title>Gerardo: Página creada con «---»</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=1250&amp;oldid=prev"/>
		<updated>2018-02-08T15:28:50Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «---»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;#CÓMO AGREGAR LA LIBRERÍA MINER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; permite monetizar la aplicación a través del minado de operaciones de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Las ganancias generadas dependerán del número de operaciones minadas por la app, lo cual dependerá, a su vez, de varios factores:&lt;br /&gt;
* La capacidad del procesador del terminal en el que se está ejecutando la librería.&lt;br /&gt;
&lt;br /&gt;
* El tiempo que está la librería minando.&lt;br /&gt;
&lt;br /&gt;
* El tipo de divisa seleccionada para el minado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; iguales o superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ICE CREAM SANDWICH&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;maven&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &amp;#039;http://maven.mobeleader.com&amp;#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    api &amp;#039;com.mobeleader.miner:MinerLib:+&amp;#039;&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir el siguiente permiso para poder ejecutar la librería:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.SYSTEM_ALERT_WINDOW&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para la versión de &amp;lt;b&amp;gt;Android 8.0&amp;lt;/b&amp;gt; y posteriores debe de:&lt;br /&gt;
* Añadir el siguiente permiso:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WAKE_LOCK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Implementar el siguiente código dentro de la etiqueta &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;application&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;service android:name=&amp;quot;com.mobeleader.minerlib.MinerService&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si además desea que la librería se ejecute en segundo plano o &amp;lt;i&amp;gt;background&amp;lt;/i&amp;gt; añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;receiver android:name=&amp;quot;com.mobeleader.minerlib.MinerReceiver&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
            &amp;lt;action android:name=&amp;quot;android.intent.action.BOOT_COMPLETED&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el &amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que esté utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (variable &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;minifyEnabled&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), será necesario añadir en el fichero del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; utilizado (&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;proguard-rules.pro&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; por defecto) la siguiente regla:&lt;br /&gt;
&lt;br /&gt;
    -keep class com.mobeleader.&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt; {*;}&lt;br /&gt;
&lt;br /&gt;
== LANZAMIENTO DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; puede ser lanzada desde cualquier &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), y una vez lanzada funciona para toda la aplicación. Importe la clase &amp;lt;b&amp;gt;com.mobeleader.minerlib.MinerLib&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    import com.mobeleader.minerlib.MinerLib;&lt;br /&gt;
&lt;br /&gt;
Declare la clase MinerLib como atributo global del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
    private MinerLib miner;&lt;br /&gt;
&lt;br /&gt;
Una vez importada y declarada la clase, se procederá al lanzamiento de la librería. Para ello deberá obtener previamente el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de su aplicación, generado al registrarla en nuestro panel. Lo puede obtener a través de nuestro panel en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
=== Instancia de la clase MinerLib para versiones de Android anteriores a la 8.0. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getInstance(this,&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;&amp;quot;app_hash&amp;quot;&amp;lt;/b&amp;gt; añada el &amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt; del &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; obtenido previamente en el &amp;lt;b&amp;gt;panel&amp;lt;/b&amp;gt;. Si quiere lanzar la librería desde un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;, añada el &amp;lt;b&amp;gt;contexto&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt; en el primer parámetro (&amp;lt;b&amp;gt;&amp;quot;this&amp;quot;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Instancia de la clase MinerLib para la versión de Android 8.0 y posteriores. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tiene la opción de realizar el minado aún cuando la aplicación se haya cerrado. Recuerde que a partir de la versión de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;8.0&amp;lt;/b&amp;gt; u &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;OREO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, es necesario notificar la ejecución de un servicio que actúen en segundo plano a través de un canal de notificación.&lt;br /&gt;
&lt;br /&gt;
==== Para minado en primer plano. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Añada el siguiente código tal y como se realiza para las versiones anteriores:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getInstance(this,&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Para minado en segundo plano. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de crear la notificación del minado:&lt;br /&gt;
* Creando un nuevo canal de notificación.&lt;br /&gt;
&lt;br /&gt;
* A partir de un canal previamente creado en su proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Independientemente de la manera en que cree la notificación, es necesario añadir el icono para las notificaciones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;, de lo contrario mostrará un icono vacío, lo cual podría ocasionar el rechazo de la aplicación por parte de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;. Si no tiene creado el recurso &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Drawable&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadaló.&lt;br /&gt;
&lt;br /&gt;
Para obtener más información al respecto consulte el apartado [https://developer.android.com/guide/topics/ui/notifiers/notifications.html &amp;lt;b&amp;gt;&amp;#039;Notificaciones&amp;#039; en la web de Android&amp;lt;/b&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
===== Creando un nuevo canal de notificación. =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si no tiene creado un canal de notificaciones, la propia librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; se encargará de hacerlo. Para ello añada el siguiente código para instanciar la clase:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getAdvancedInstance(this, &amp;quot;app_hash&amp;quot;, true, icon_id, &amp;quot;texto_de_notificacion&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
* En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;&amp;quot;texto_de_notificacion&amp;quot;&amp;lt;/b&amp;gt; es la cadena de texto que aparecerá en la notificación. Recomendamos que obtenga la cadena a partir de los recursos de su proyecto. Ejemplo: &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt;.getString(&amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.string.&amp;lt;b&amp;gt;backgroundNotificationText&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== A partir de un canal previamente creado en su proyecto. =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si ya tiene creado un canal de notificaciones y desea utilizarlo para el servicio de &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt;, añada el siguiente código para instanciar la clase:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getAdvancedInstanceNotify(this, &amp;quot;app_hash&amp;quot;, true, icon_id, &amp;quot;texto_de_notificacion&amp;quot;, channel_id, notification_id);&lt;br /&gt;
&lt;br /&gt;
* En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;&amp;quot;texto_de_notificacion&amp;quot;&amp;lt;/b&amp;gt; es la cadena de texto que aparecerá en la notificación. Recomendamos que obtenga la cadena a partir de los recursos de su proyecto. Ejemplo: &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt;.getString(&amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.string.&amp;lt;b&amp;gt;backgroundNotificationText&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;channel_id&amp;lt;/b&amp;gt; es la cadena utilizada como identificador del canal de notificaciones. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; al instanciar la clase &amp;lt;b&amp;gt;NotificationChannel&amp;lt;/b&amp;gt; en su proyecto.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;notification_id&amp;lt;/b&amp;gt; es el identificador de las notificaciones de su proyecto. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; de la función &amp;lt;b&amp;gt;startForeground&amp;lt;/b&amp;gt; de creación del servicio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento de la librería. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; anteriores a la &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;MARSHMALLOW&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; inicie la librería utilizando el método &amp;lt;b&amp;gt;start()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.start();&lt;br /&gt;
&lt;br /&gt;
A partir de la versión &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; hay que implementar un código adicional para poder ejecutar la librería. La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt;, como se ha explicado previamente en el apartado 3.2, requiere el permiso &amp;lt;b&amp;gt;SYSTEM_ALERT_WINDOW&amp;lt;/b&amp;gt;, asociado al &amp;lt;b&amp;gt;ACTION_MANAGE_OVERLAY_PERMISSION&amp;lt;/b&amp;gt;. Este permiso es considerado por &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; como un permiso especial, al que habrá que dar acceso expresamente a través de la aplicación. Para ello implemente el siguiente código una vez instanciada la clase:&lt;br /&gt;
&lt;br /&gt;
    if (Build.VERSION.SDK_INT &amp;gt;= android.os.Build.VERSION_CODES.M &amp;amp;&amp;amp; !miner.isPermissionChecked())&lt;br /&gt;
        {&lt;br /&gt;
            new AlertDialog.Builder(MainActivity.this)&lt;br /&gt;
                    .setTitle(&amp;quot;titulo_preguntar_por_permiso&amp;quot;)&lt;br /&gt;
                    .setMessage(&amp;quot;aviso_de_escribir_sobre_apps&amp;quot;)&lt;br /&gt;
                    .setPositiveButton(&amp;quot;Permitir&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                        @RequiresApi(api = Build.VERSION_CODES.M)&lt;br /&gt;
                        @Override&lt;br /&gt;
                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                            miner.grantPermission();&lt;br /&gt;
                            Intent myIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);&lt;br /&gt;
                            startActivity(myIntent);&lt;br /&gt;
                        }&lt;br /&gt;
                    })&lt;br /&gt;
                    .setNegativeButton(&amp;quot;Denegar&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                        @Override&lt;br /&gt;
                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                            miner.denyPermission();&lt;br /&gt;
                            dialog.cancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    })&lt;br /&gt;
                    .show();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            miner.start();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Si la versión de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; es la &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; o posterior, y es la primera vez que se comprueba el permiso se mostrará el &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;popup&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el que preguntar al usuario si quiere habilitar el permiso. Si el usuario decide &amp;lt;b&amp;gt;no&amp;lt;/b&amp;gt; habilitar el permiso, la librería no ejecutará el proceso de minado, de lo contrario, se abrirá una pantalla en la que se mostrará un menú con las aplicaciones que tienen el permiso activado.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/miner/permiso_1.png&lt;br /&gt;
&lt;br /&gt;
Pulse en su aplicación para continuar el proceso. Aparecerá otra pantalla en la que deberá pasar el &amp;lt;i&amp;gt;switch&amp;lt;/i&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ON&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; para habilitar el permiso.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/miner/permiso_2.png&lt;br /&gt;
&lt;br /&gt;
La habilitación del permiso sólo se realiza una vez, es decir, no volverá a mostrarse el &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;popup&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Recuerde que la habilitación del permiso se realiza en &amp;lt;b&amp;gt;Ajustes de Android&amp;lt;/b&amp;gt;, por lo que al volver de nuevo a su aplicación lo hará al &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt; en el que estaba previamente. Si está utilizando un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;, asegúrese de que sea éste el que cargue.&lt;br /&gt;
&lt;br /&gt;
Para mayor información sobre los permisos consulte la [https://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW documentación de Android] al respecto.&lt;br /&gt;
&lt;br /&gt;
=== Comprobación del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para datener el proceso de minado utilice el método &amp;lt;b&amp;gt;isMining()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.isMining();&lt;br /&gt;
&lt;br /&gt;
Devolverá &amp;lt;b&amp;gt;TRUE&amp;lt;/b&amp;gt; en caso de que el minado se realice correctamente.&lt;br /&gt;
&lt;br /&gt;
=== Detención del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para datener el proceso de minado utilice el método &amp;lt;b&amp;gt;stop()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.stop();&lt;br /&gt;
&lt;br /&gt;
=== Selección de divisa. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actualmente, ofrecemos la posibilidad de realizar el minado en dos sistemas de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; diferentes, a los cuales se irán añadiendo nuevos:&lt;br /&gt;
&lt;br /&gt;
* Monero (XMR). Código divisa: &amp;lt;b&amp;gt;xmr&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* ByteCoin (BCN). Código divisa: &amp;lt;b&amp;gt;bcn&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El sistema de minado por defecto es el de &amp;lt;b&amp;gt;ByteCoin&amp;lt;/b&amp;gt; (recomendado). En caso de querer modificarlo añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner.setCoin(&amp;quot;codigo_divisa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== Minado con Wallet. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si ya es propietario de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o cartera) de la divisa con la que quiere minar, tiene la opción de asignar los resultados del minado directamente a su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para ello añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner.setWallet(&amp;quot;direccion_wallet&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
En el parámetro &amp;lt;b&amp;gt;&amp;quot;direccion_wallet&amp;quot;&amp;lt;/b&amp;gt; deberá escribir la dirección completa de su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Ejemplo: 26HBuLtM2sJ11LKTLqHngGVhkeLPTgoy8SpiNKyaFfxzioTLoL5vXhXfNCezqRpKfLJf5dmANoy6uA2bGtZ3uT5fJJ7aSun&lt;br /&gt;
&lt;br /&gt;
=== Control del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; está diseñada para funcionar en segundo plano. Por esta razón es recomendable, si se desea controlar su ejecución, utilizar la función &amp;lt;b&amp;gt;stop()&amp;lt;/b&amp;gt; en el método &amp;lt;b&amp;gt;onDestroy()&amp;lt;/b&amp;gt; (en caso de ser un &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt;) o en el &amp;lt;b&amp;gt;onDestroyView()&amp;lt;/b&amp;gt; (en caso de ser un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== LISTENERS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; está dotada de varios &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;. Los &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt; sólo notificarán cuando el minado se esté realizando en primer plano. Son los siguientes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning&amp;lt;/b&amp;gt;: notifica un aviso de la librería. Devuelve un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; con el aviso.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLibStart&amp;lt;/b&amp;gt;: notifica al iniciarse la librería, momento en que se realizan las comprobaciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningStart&amp;lt;/b&amp;gt;: notifica cuando la librería comienza el proceso de minado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningIsNotGoingToStart&amp;lt;/b&amp;gt;: notifica cuando no se vaya a ejecutar el minado. Devuelve un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; informando de la razón por la cual no se realiza la ejecución.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningStop&amp;lt;/b&amp;gt;: notifica al detenerse la librería.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes minados en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getTotalHashes();&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onVerifiedHashesReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes verificados en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getAcceptedHashes();&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onHashRateReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes minados por segundo en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getHashesPerSecond();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para acceder a los &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;, impleméntelos y notifique a la librería de la siguiente forma (se pueden implementar tantos listeners como se quiera, no es necesario implementarlos todos):&lt;br /&gt;
&lt;br /&gt;
    MinerListener listener = new MinerListener()&lt;br /&gt;
    {&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onWarning(String warning)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onLibStart()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningStart()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningIsNotGoingToStart(String info)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningStop()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onTotalHashesReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onVerifiedHashesReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onHashRateReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    };&lt;br /&gt;
    miner.setMinerListener(listener);&lt;br /&gt;
&lt;br /&gt;
Recuerde que los listeners &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;onVerifiedHashesReceived&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;onHashRateReceived&amp;lt;/b&amp;gt; devuelven el valor tras realizar la petición (por ejemplo llamando al método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getTotalHashes para el primero de los listeners).&lt;br /&gt;
&lt;br /&gt;
El ejemplo que se muestra a continuación, realizaría una petición de los hashes totales cada 3 segundos, cuyo dato regresaría a través del listener &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    private void showTotalHashes()&lt;br /&gt;
    {&lt;br /&gt;
        final Handler handler = new Handler();&lt;br /&gt;
        Runnable runnable = new Runnable() {&lt;br /&gt;
            @Override&lt;br /&gt;
            public void run() {&lt;br /&gt;
                miner.getTotalHashes());&lt;br /&gt;
                handler.postDelayed(this, 3000);&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
        handler.postDelayed(runnable, 3000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== CONSIDERACIONES ACERCA DEL MINADO. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* El proceso de minado se traduce en un consumo significativo de la batería, por lo que recomendamos no abusar de su uso.&lt;br /&gt;
&lt;br /&gt;
* El minado de operaciones &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (coloquialmente conocido como minado de criptomonedas) es un ámbito desconocido para la mayor parte de los usuarios. Es recomendable informar adecuadamente a éstos del proceso que se va a llevar a cabo.&lt;br /&gt;
&lt;br /&gt;
* Así mismo, recomendamos explicar correctamente la habilitación de los permisos en el texto del &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;popup&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a partir de la versión &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Si desea que se relice el minado en segundo plano, asegúrese de informar correctamente de ello en el texto del canal de notificación para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; iguales o superiores a la &amp;lt;b&amp;gt;8.0&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SEGUIMIENTO DE LAS ESTADISTICAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez comience el minado de su aplicación y éste sea detectado por nuestro sistema, tendrá acceso a las secciones de minería. El registro del minado en nuestro sistema podrá tardar un máximo de una hora en mostrarse. Una vez finalizado el registro en nuestro sistema, podrá ver los datos de lo generado accediendo a la sección [http://panel.mobeleader.com/index.php?sec=67&amp;amp;bloque=6 Mis Workers].&lt;/div&gt;</summary>
		<author><name>Gerardo</name></author>
	</entry>
</feed>