呼叫意图时,带有JavaScript Interface的WebView崩溃



我有一个带有自定义JavaScriptInterface的WebView的应用程序。连接如下:

class CustomWebView extends WebView{ 
   public void prepare(){
      this.addJavascriptInterface(new Interface(this.inner_c), "ifc");
   }
}

在JavaScript上从此接口中调用了一种方法,该方法执行以下操作:

Intent intent = YouTubeStandalonePlayer.createPlaylistIntent((Activity) mContext, "key", "playlist");
mContext.startActivity(intent);

一旦调用了意图,现在正在背景中的应用程序崩溃,涉及下一行的NullPoInterException从另一个文件:

public class MiscellaneousFragment extends Fragment implements PageActionListener
{
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        mContext = container.getContext();
        ...
    }   
}

如何避免崩溃?

谢谢!

请注意,在主UI线程中未执行JavascriptInterface,而在Android中,必须在主线程中调用某些操作(例如更新视图)。因此,您可以在JavaScriptInterface中进行检查以查看是否违反规则。

您可以将其添加到您的interface.java

    new Handler.post(new Runnable() { 
        public void run() { 
              Intent intent = YouTubeStandalonePlayer.createPlaylistIntent((Activity) mContext, "key", "playlist");
          mContext.startActivity(intent);
        } 
    }); 

相关内容

  • 没有找到相关文章

最新更新