2017-01-31 9 views
0

в моем приложении их нет FragmentActivity.java но аварии отчет не дает мне следующую ошибкуAndroid приложение падает на 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) 

я не знаю что и где на самом деле проблема, и большую часть времени этот крах случается в телефонах Redmi.

+0

разместить свой код Java –

+0

разместим ваш Основная деятельность кода Java и OnClick слушателя код –

+0

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

ответ

1

Исключение возникает, если устройство не не имеют Google Play установлен (не Activity справиться с этим intent) - вы можете просто попытаться открыть URL в browser в этом случае:

вы можете использовать Google название игры пакета: 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); 
    } 
} 

использовать его как при button клик записи этого метода:

open_google_play(Activity.this); 
+0

но если я у меня нет кода для игры в Google. У меня нет кода для него, но он автоматически обрабатывается, и экран с кнопкой GET GOOGLE PLAY SERVICE отображается ... так где проверить, нажал ли пользователь на эту кнопку? –

+0

@JuliaWilliams, я не прослежу! нажал на какую кнопку? – rafsanahmad007

+0

https://postimg.org/image/l77yo18nl/6226f56e/ см над изображением он приходит, когда их это Google Play сервис не обновляется и если Google Play службы не установлен, то название кнопки «Получить Google играть обслуживание " если пользователь нажмет на эту кнопку, и если их нет в магазине воспроизведения, то приложение выйдет из строя –

0

В нем говорится, что у вас нет активности для его обработки. То, что отсутствует в магазине воспроизведения Google. Попробуйте ввести код в поле «catch» block

0

Вы пытаетесь запустить Intent для просмотра магазина Google Play, но он не существует на телефоне, что приводит к сбою. Вы должны сначала проверить, что цель может быть решена, например, так:

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