2017-01-31 4 views
0

in meiner app ist sie kein FragmentActivity.java aber Crash-Bericht geben Sie mir die folgenden FehlerAndroid App stürzt auf FragmentActivity.java android.support.v4.app.FragmentActivity.startActivityForResult

Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.android.gms&pcampaignid=gcore_8487000--- flg=0x80000 pkg=com.android.vending } 
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1647) 
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417) 
    at android.app.Activity.startActivityForResult(Activity.java:3415) 
    at android.app.Activity.startActivityForResult(Activity.java:3376) 
    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:784) 
    at android.app.Activity.startActivity(Activity.java:3611) 
    at android.app.Activity.startActivity(Activity.java:3579) 
    at com.google.android.gms.dynamic.zza$5.onClick(Unknown Source) 
    at android.view.View.performClick(View.java:4204) 
    at android.view.View$PerformClick.run(View.java:17373) 
    at android.os.Handler.handleCallback(Handler.java:725) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:5056) 
    at java.lang.reflect.Method.invokeNative(Method.java) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 
    at dalvik.system.NativeStart.main(NativeStart.java) 

ich weiß nicht, was und wo eigentlich das Problem ist und die meiste Zeit dieser Absturz in Redmi Telefone passiert

+0

posten Sie Ihre Java-Code –

+0

Ihre Haupttätigkeit Java-Code und onClick Zuhörer Code –

+0

http://stackoverflow.com/questions/11439313/no-activity-found-to-handle-market-uri – Wizard

Antwort

1

Die Ausnahme tritt, wenn das Gerät nicht die Google nicht installiert Play (keine Activity diese intent zu handhaben) - Sie können nur versuchen, URL zu öffnen, in browser in diesem Fall:

können Sie google Play Paketnamen: com.android.vending

String pakcage_name="com.android.vending"; 

public static void open_google_play(Context context) { 
    try { 
     //open in play store app directly 
     context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + pakcage_name))); 
    } catch (android.content.ActivityNotFoundException e) { 
     //open in browser 
     openBrowser(context, "https://play.google.com/store/apps/details?id=" + pakcage_name); 
    } 
} 

public static void openBrowser(Context context, String url) { 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    if (null != intent.resolveActivity(context.getPackageManager())) { 
     context.startActivity(intent); 
    } 
} 

es wie bei button Klick Schreib diese Methode verwenden:

open_google_play(Activity.this); 
+0

aber wenn ich schreiben Haben Sie keinen Google Play-Dienst, ich habe keinen Code dafür, aber es wird automatisch behandelt und ein Bildschirm mit der Schaltfläche GET GOOGLE PLAY SERVICE wird angezeigt ... also wo zu überprüfen, ob der Benutzer auf diese Schaltfläche geklickt hat? –

+0

@JuliaWilliams ich don t folgen !! auf welche Schaltfläche geklickt? – rafsanahmad007

+0

https://postimg.org/image/l77yo18nl/6226f56e/ oben Bild sehen es kommt, wenn ihr Google-Play-Service ist nicht aktualisiert wird und wenn Google-Dienst spielen installiert ist nicht dann auf die Schaltfläche Name ist „Get Google Service spielen " wenn Benutzer auf diesen Knopf klicken und wenn ihr kein Spielgeschäft installiert ist, stürzt app –

0

Es heißt, dass Sie keine Aktivität haben, damit umzugehen. Das ist Google Play Store fehlt. Versuchen Sie, Ihren Code in Versuch setzen catch

0

Sie versuchen, eine Intent starten, um den Google Play Store anzuzeigen, aber es existiert nicht auf dem Handy, was zu einem Absturz. Sie sollten zunächst prüfen, ob die Absicht aufgelöst werden kann, etwa so:

if (intent.resolveActivity(activity.getPackageManager()) != null) { 
    startActivity(intent) 
}