valores temas talleres taller sobre que participen para padres paciencia mujeres maltratadas los juegos fortalecer familia escuela dinamicas desarrollar clase alumnos adolescentes actividades android android-intent

android - temas - talleres para mujeres maltratadas pdf



No se ha encontrado actividad para manejar el intento (5)

Estoy intentando lanzar un intento para abrir un enlace al mercado de Android.

La porción de manifiesto de Android se ve así:

<activity android:name="com.surreall.sixdice.Start" android:label="Six Dice" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

el lanzamiento del intento se ve así:

public void onClick(View v) { String PublisherID = "pub:surreallgames"; Uri marketUri = Uri.parse("market://search?q="+PublisherID); Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); startActivity(marketIntent); }

salida de logcat:

06-17 17:38:47.393: E/AndroidRuntime(476): FATAL EXCEPTION: main 06-17 17:38:47.393: E/AndroidRuntime(476): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://search?q=pub:surreallgames } 06-17 17:38:47.393: E/AndroidRuntime(476): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.app.Activity.startActivityForResult(Activity.java:2827) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.app.Activity.startActivity(Activity.java:2933) 06-17 17:38:47.393: E/AndroidRuntime(476): at com.surreall.sixdice.Start$9.onClick(Start.java:265) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.view.View.performClick(View.java:2485) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.view.View$PerformClick.run(View.java:9080) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.os.Handler.handleCallback(Handler.java:587) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.os.Handler.dispatchMessage(Handler.java:92) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.os.Looper.loop(Looper.java:123) 06-17 17:38:47.393: E/AndroidRuntime(476): at android.app.ActivityThread.main(ActivityThread.java:3683) 06-17 17:38:47.393: E/AndroidRuntime(476): at java.lang.reflect.Method.invokeNative(Native Method) 06-17 17:38:47.393: E/AndroidRuntime(476): at java.lang.reflect.Method.invoke(Method.java:507) 06-17 17:38:47.393: E/AndroidRuntime(476): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 06-17 17:38:47.393: E/AndroidRuntime(476): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 06-17 17:38:47.393: E/AndroidRuntime(476): at dalvik.system.NativeStart.main(Native Method)


Está ejecutando este código en un entorno Android que carece de Google Play Store, como un emulador, Kindle Fire, etc.

Si encuentra esto en un emulador, pruebe esta ruta de código en un dispositivo que tenga Play Store.

Si encuentra esto en algún hardware que carece de Play Store, o si planea distribuir su aplicación a dispositivos que carecen de Play Store, maneje la excepción o use PackageManager y resolveActivity() para determinar si su Intent será tener éxito antes de llamar a startActivity() .

if(intent.resolveActivity(getPackageManager()) != null) startActivityForResult(intent, 0); else ...


Prueba agregar

<category android:name="android.intent.category.DEFAULT" />

a la actividad de llamada.


Puede usar el método Intent.createChooser () para ejecutar Intent de forma segura. Si no existe una aplicación que pueda manejar su intención, se mostrará un cuadro de diálogo que le indicará al usuario exactamente eso. Sin embargo, si se instala Google Play Store, el usuario puede elegir "abrir" la intención en Play Store.

startActivity(Intent.createChooser(marketIntent, "dialogTitle"));


Una mejor solución sería intentar abrir uri en la aplicación Google Play, pero si no existe tal aplicación (sin actividad para manejar esta intención), puede intentar abrir uri en el navegador como en este ejemplo:

public static void rateApp(Context context) { try { context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName()))); } catch (android.content.ActivityNotFoundException anfe) { viewInBrowser(context, "https://play.google.com/store/apps/details?id=" + context.getPackageName()); } } public static void viewInBrowser(Context context, String url) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); if (null != intent.resolveActivity(context.getPackageManager())) { context.startActivity(intent); } }


private void OpenStoreIntent(){ String url=""; Intent storeintent=null; try { url = "market://details?id=com.myapp.packagename"; storeintent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); storeintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); context.startActivity(storeintent); } catch ( final Exception e ) { url = "https://play.google.com/store/apps/details?id=com.myapp.packagename"; storeintent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); storeintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); context.startActivity(storeintent); } }