CustomTabsIntent launchUrl抛出SecurityException - Permission Denial

时间:2017-03-07 08:47:09

标签: java android

我正在使用chrome标签来查看我的Android应用程序中的URL,但是我在这个堆栈跟踪中遇到了一些崩溃

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=http://www.ikea.com/... cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity (has extras) } from ProcessRecord{2fec948 29204:com.myapp/u0a71} (pid=29204, uid=10071) not exported from uid 10219
   at android.os.Parcel.readException(Parcel.java:1620)
   at android.os.Parcel.readException(Parcel.java:1573)
   at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3131)
   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1540)
   at android.app.Activity.startActivityForResult(Activity.java:4283)
   at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
   at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
   at android.app.Activity.startActivity(Activity.java:4563)
   at android.support.v4.content.ContextCompatJellybean.startActivity(ContextCompatJellybean.java:34)
   at android.support.v4.content.ContextCompat.startActivity(ContextCompat.java:151)
   at android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:262)
   at com.myapp.chromeCustomTabs.CustomTabActivityHelper.openCustomTab(CustomTabActivityHelper.java:34)
   at com.myapp.ProductSpecsActivity.goToStoreWebPage(ProductSpecsActivity.java:253)
   at com.myapp.ProductSpecsActivity.goSeeDescription(ProductSpecsActivity.java:190)
   at com.myapp.ProductSpecsActivity_ViewBinding$4.doClick(ProductSpecsActivity_ViewBinding.java:80)
   at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
   at android.view.View.performClick(View.java:5697)
   at android.widget.TextView.performClick(TextView.java:10826)
   at android.view.View$PerformClick.run(View.java:22526)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:158)
   at android.app.ActivityThread.main(ActivityThread.java:7225)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

那么,任何人都可以帮助我找出问题所在吗?顺便说一句,它只发生在一些设备上,我无法在我自己的设备上进行测试时重现它。

以下是导致问题的方法

public static void openCustomTab(Activity activity,
                                 Uri uri) {
    // create an intent builder
    CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
    // Begin customizing
    // set toolbar colors
    intentBuilder.setToolbarColor(ContextCompat.getColor(activity, R.color.colorPrimary));
    intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(activity, R.color.colorPrimaryDark));
    // set start and exit animations
    intentBuilder.setStartAnimations(activity, R.anim.slide_in_right, R.anim.slide_in_right);
    intentBuilder.setExitAnimations(activity, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
    // build custom tabs intent
    CustomTabsIntent customTabsIntent = intentBuilder.build();

    // launch the url
    customTabsIntent.launchUrl(activity, uri);
}

活动在清单

中启动CustomTab
<activity
        android:name=".ui.activities.productspecs.ProductSpecsActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_product_specs"
        android:theme="@style/AppTheme.Base"
        android:windowSoftInputMode="adjustResize" />

1 个答案:

答案 0 :(得分:2)

这就是问题,https://github.com/alibaba/weex/issues/2139它与阿里巴巴的app bug与CustomTabs的冲突有关