2017-01-09 13 views
1

通知で受け取ったURLから特定の投稿にFBアプリを開こうとしています。Android - FBネイティブアプリを開くときにインテントを処理するアクティビティが見つかりません

ほとんどのデバイスでは正常に動作しますが、ほとんどがSamsung S7でクラッシュします。 私の簡単なコード:

PackageManager packageManager = context.getPackageManager(); 
try { 
    int versionCode = packageManager.getPackageInfo("com.facebook.katana", 0).versionCode; 
    return "fb://post/" + fb_url; 
} catch (PackageManager.NameNotFoundException e) { 
    return "https://www.facebook.com/" + fb_url; //normal web mUrl 
} 

エラーログ:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{snip.snipnotifier/snip.snipnotifier.LoadingActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=fb://post/<post_id> } 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3149) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3248) 
     at android.app.ActivityThread.access$1000(ActivityThread.java:197) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:145) 
     at android.app.ActivityThread.main(ActivityThread.java:6872) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
Caused by android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=fb://post/251996958535784_295668917501921 } 
     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1817) 
     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1515) 
     at android.app.Activity.startActivityForResult(Activity.java:4076) 
     at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75) 
     at android.app.Activity.startActivityForResult(Activity.java:4023) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:856) 
     at android.app.Activity.startActivity(Activity.java:4347) 
     at android.app.Activity.startActivity(Activity.java:4315) 
     at snip.snipnotifier.LoadingActivity.onCreate(LoadingActivity.java:29) 
     at android.app.Activity.performCreate(Activity.java:6550) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3102) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3248) 
     at android.app.ActivityThread.access$1000(ActivityThread.java:197) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:145) 
     at android.app.ActivityThread.main(ActivityThread.java:6872) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 

はあなたの助けをお願い申し上げ

String url = "fb://post/<post_id>"; 
Uri target = Uri.parse(url); 
notifIntent = new Intent(Intent.ACTION_VIEW, target); 
startActivity(notifIntent); 

そのFBがデバイス上に存在する前に私がチェックしました。

答えて

5

サムスンS7の意図を処理するアクティビティはありません。最初に確認してください。

if (sendIntent.resolveActivity(getPackageManager()) != null) { 
    startActivity(sendIntent); 
} 

このヘルプが必要です。ハッピーコーディング。

+0

ありがとうございました。私の意図を扱うアクティビティがないということは何を意味しますか? FBアプリがインストールされていませんか? – Rani

+0

はいFBアプリケーションがインストールされていないので、上記のコードでは、あなたの意図を処理する人がいるかどうかをチェックし、意図だけが起動します。 –

+0

FB appが存在するかどうかをチェックするコードに問題があったと思います...ありがとう! – Rani

関連する問題