Cómo llamar a la calculadora de Android en mi aplicación para todos los teléfonos
public static final String CALCULATOR_PACKAGE ="com.android.calculator2"; public static final String CALCULATOR_CLASS ="com.android.calculator2.Calculator"; Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setComponent(new ComponentName( CALCULATOR_PACKAGE, CALCULATOR_CLASS));
Los trabajos anteriores sólo para HTC
public static final String CALCULATOR_PACKAGE ="com.sec.android.app.popupcalculator"; public static final String CALCULATOR_CLASS ="com.sec.android.app.popupcalculator.Calculator";
Las obras anteriores para S3
- Java.lang.SecurityException: Permiso Negación: no se permite enviar broadcast android.intent.action.MEDIA_MOUNTED en KitKat solamente
- ¿Debe comprobar la aplicación si el dispositivo tiene funcionalidad de llamada cuando se utiliza la intención de ACTION_DIAL?
- ¿Cómo puedo manejar la intención de "compartir página" del navegador en android?
- Abrir cámara Android en una resolución inferior con ACTION_IMAGE_CAPTURE
- Creación de paquete y envío a nueva actividad
Necesito un código que funcione para todos ellos. Alguien con alguna pista? Por favor, dé un ejemplo de código
- Cambiar la resolución de la cámara mediante programación en android
- ¿Es posible desinstalar una aplicación android desde otra aplicación?
- ¿Se puede crear un filtro de intención basado en la consulta?
- Hoja de parte inferior en Android
- Android: problema de intención
- Diferencia entre el intento.setClass () y el intento.setComponent ()
- Chooser Intent - Selección de galería o cámara
- Compruebe la conexión a Internet de INTENT
Puede probar como calculator
predeterminada en todos los dispositivos de Android:
ArrayList<HashMap<String,Object>> items =new ArrayList<HashMap<String,Object>>(); final PackageManager pm = getPackageManager(); List<PackageInfo> packs = pm.getInstalledPackages(0); for (PackageInfo pi : packs) { if( pi.packageName.toString().toLowerCase().contains("calcul")){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("appName", pi.applicationInfo.loadLabel(pm)); map.put("packageName", pi.packageName); items.add(map); } }
Y ahora puedes lanzar la aplicación de la calculadora como:
if(items.size()>=1){ String packageName = (String) items.get(0).get("packageName"); Intent i = pm.getLaunchIntentForPackage(packageName); if (i != null) startActivity(i); } else{ // Application not found }
Y para Api> = 15 , puedes usar
Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_APP_CALCULATOR); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
Intent i = new Intent(); i.setAction(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_APP_CALCULATOR); startActivity(i);
Tendrás que comprobar si el nombre del paquete de la calculadora predeterminada (com.android.calculator2) está disponible con esto:
try{ ApplicationInfo info = getPackageManager() .getApplicationInfo("com.android.calculator2", 0 ); } catch( PackageManager.NameNotFoundException e ){ //application doesn't exist }
Samsung utiliza una gran cantidad de aplicaciones preinstaladas con TouchWiz que no están disponibles en Android stock. Por lo tanto, si obtiene una Excepción en lo anterior, puede comprobar si la calculadora de Samsung está disponible. Btw Creo que com.android.calculator2 no es específico de HTC.
- Cambiar la orientación de la pantalla – Android 3.2 en VirtualBox
- ¿Cómo hago una consulta insensible a mayúsculas con ContentResolver en Android?