PomepuyN / discreet-app-rate

A lightweight non intrusive app rate reminder for Android
http://nicolaspomepuy.fr/non-intrusive-app-rate
Apache License 2.0
464 stars 51 forks source link

ActivityNotFoundException in simulator #8

Closed alexeyvasilyev closed 10 years ago

alexeyvasilyev commented 10 years ago

Clicking on AppRate view in simulator (device which cannot handle "market" Intent) causes ActivityNotFoundException. try-catch should be used.

E/AndroidRuntime( 1395): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=com.mypackage } E/AndroidRuntime( 1395): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632) E/AndroidRuntime( 1395): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424) E/AndroidRuntime( 1395): at android.app.Activity.startActivityForResult(Activity.java:3424) E/AndroidRuntime( 1395): at android.app.Activity.startActivityForResult(Activity.java:3385) E/AndroidRuntime( 1395): at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839) E/AndroidRuntime( 1395): at android.app.Activity.startActivity(Activity.java:3627) E/AndroidRuntime( 1395): at android.app.Activity.startActivity(Activity.java:3595) E/AndroidRuntime( 1395): at fr.nicolaspomepuy.discreetapprate.AppRate$2.onClick(AppRate.java:438) E/AndroidRuntime( 1395): at android.view.View.performClick(View.java:4438) E/AndroidRuntime( 1395): at android.view.View$PerformClick.run(View.java:18422) E/AndroidRuntime( 1395): at android.os.Handler.handleCallback(Handler.java:733) E/AndroidRuntime( 1395): at android.os.Handler.dispatchMessage(Handler.java:95) E/AndroidRuntime( 1395): at android.os.Looper.loop(Looper.java:136) E/AndroidRuntime( 1395): at android.app.ActivityThread.main(ActivityThread.java:5017) E/AndroidRuntime( 1395): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 1395): at java.lang.reflect.Method.invoke(Method.java:515) E/AndroidRuntime( 1395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) E/AndroidRuntime( 1395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) E/AndroidRuntime( 1395): at dalvik.system.NativeStart.main(Native Method) W/ActivityManager( 447): Force finishing activity com.mypackage/com.mypackage.LiveViewActivity

PomepuyN commented 10 years ago

Hi, What version are you using? With the development branch, in the emulator, the library is able to detect that the Play Store isn't installed and don't show anything.

alexeyvasilyev commented 10 years ago

master branch. If this issue is fixed in dev branch close the issue. Anyway it is highly recommended to use try-catch while calling Intent from UI thread.

PomepuyN commented 10 years ago

Code has been added in the master branch as a new version has been promoted.

ligi commented 10 years ago

would be nice to push a version with this change to maven-central

PomepuyN commented 10 years ago

It has been done under the 20.1 version.

ligi commented 10 years ago

then there is still a problem - I get this with the 2.0.1

E/AndroidRuntime( 1280): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=org.ligi.passandroid flg=0x10000000 }
E/AndroidRuntime( 1280):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
E/AndroidRuntime( 1280):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
E/AndroidRuntime( 1280):    at android.app.Activity.startActivityForResult(Activity.java:3424)
E/AndroidRuntime( 1280):    at android.app.Activity.startActivityForResult(Activity.java:3385)
E/AndroidRuntime( 1280):    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839)
E/AndroidRuntime( 1280):    at android.app.Activity.startActivity(Activity.java:3627)
E/AndroidRuntime( 1280):    at android.app.Activity.startActivity(Activity.java:3595)
E/AndroidRuntime( 1280):    at fr.nicolaspomepuy.discreetapprate.AppRate$1.onClick(AppRate.java:526)
E/AndroidRuntime( 1280):    at android.view.View.performClick(View.java:4438)
E/AndroidRuntime( 1280):    at android.view.View$PerformClick.run(View.java:18422)
E/AndroidRuntime( 1280):    at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 1280):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 1280):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1280):    at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 1280):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1280):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1280):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 1280):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 1280):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(  556):   Force finishing activity org.ligi.passandroid/.ui.TicketListActivity