Ocultar el icono de la aplicación y ejecutarlo
Necesito ocultar el icono de la aplicación.
Y ejecute el programa con dial
Ejemplo: * 12345 #
No puedo ejecutar un programa que se ha ocultado.
- Leer y escribir un ArrayList de ArrayLists que contiene Objetos parcelables para pasar en un intento
- versión kitkat para reproducir un video en pantalla completa
- ¿Cómo pasar un objeto a otra actividad?
- Detectar si un auricular está conectado a un dispositivo Android o no.
- Al crear una intención de Android y especificar la actividad de destino, ¿cuál es esta sintaxis ".class"?
Esconder App:
PackageManager p = getPackageManager(); ComponentName componentName = new ComponentName(this, com.example.broadcastreciver.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" /> p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Ejecutar MainActivity:
Intent appIntent = new Intent(context, Blank.class); appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(appIntent);
esto es AndroidManifest.xml
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".IncomingSms" > <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> </intent-filter> </receiver> <activity android:name=".Blank" android:label="@string/title_activity_blank" > </activity> </application>
- Única instancia de una actividad en android
- No hay extras en Activity.getIntent () cuando vuelve a él desde un niño Actividad
- ¿Cómo puedo utilizar startActivityForResult en el método getView en la clase ArrayAdapter?
- Iniciar siempre una nueva instancia de actividad sin historial
- ¿Por qué Intent.createChooser () necesita un BroadcastReceiver y cómo implementarlo?
- La aplicación de Gmail 5.0 falla con "Permiso denegado para el archivo adjunto" cuando recibe la intención de ACTION_SEND
- ¿Por qué estoy recibiendo el error "MyActivity no es una clase inclusiva?"
- Si se detiene una actividad, se vuelve a crear lo que se pasa en getIntent ()
Si deshabilita la actividad, no se puede iniciar. Lo que realmente quieres hacer es desactivar o eliminar el <intent-filter>
en la actividad. Lamentablemente, los filtros de intenciones manifiestas no se pueden eliminar o incluso inspeccionar (ver este error ).
Lo que puede hacer es definir un <activity-alias>
que tenga el <intent-filter>
s, y activar o desactivar este componente. Cuando se deshabilita el alias de actividad, aún podrá iniciar la actividad de destino con una intención implícita, pero la aplicación no debería aparecer en el lanzador, ya que el componente deshabilitado es el que tiene el filtro de intenciones para action.MAIN y category.LAUNCHER .
Finalmente encontré una forma alternativa
Y el problema fue resuelto
He creado un filtro de intenciones
Androidmanifest.xml
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <!-- Here is Launcher --> </intent-filter> </activity> <receiver android:name=".IncomingSms" > <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> </intent-filter> </receiver> <activity android:name=".Blank" android:label="@string/title_activity_blank" > <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
Ocultar un icono de aplicación
ComponentName componentToDisable = new ComponentName("com.example.broadcastreciver", "com.example.broadcastreciver.MainActivity"); getPackageManager().setComponentEnabledSetting( componentToDisable, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
y para la aplicación de inicio:
String phoneNubmer = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); if (LAUNCHER_NUMBER.equals(phoneNubmer)) { setResultData(null); Intent appIntent = new Intent(context, Blank.class); appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(appIntent); }
He ocultado mi MainActivity
He creado un filtro de intención para la segunda actividad
Para ejecutar la aplicación a través del código USSD (ejemplo: * 123456 #, etc)
Llamé a una segunda actividad (en blanco)