2016-07-09 17 views
0

私はこのコードを使用して私のアプリから別のアプリを開いている:ポップアップ/ウィンドウで別のアプリを開く方法は?

Uri uri = Uri.parse("http://url_to_app's_website"); 
Intent in = new Intent(Intent.ACTION_VIEW, uri); 
in.setPackage("com.package.address"); 

try { 
    startActivity(in); 

} catch (ActivityNotFoundException e) { 

    startActivity(new Intent(Intent.ACTION_VIEW, 
    Uri.parse("http://url_to_app's_website"))); 
} 

これが働いているが、それは、フルスクリーンでアプリを開きます。ウィンドウ/ポップアップで開きたいそれ、どうやったら出来るの?

答えて

0

目的地アクティビティはポップアップモードをサポートする必要があります。サポートされている場合は、その設定をBundleオブジェクトに入れてIntentに渡してからstartActivity()を呼び出してください。

1

あなたはウェブアプリを開いているようです。その場合は、あなたが行う必要があり、次の

  • WebView
  • との対話を作成しますが提供するthis SO Questionを参照してくださいダイアログのwebView

にURLをロードするダイアログ

  • を表示しますそれを行う手段。

    ここ

    が何をしたいあなたを取得するコードです: (上記参照の質問への答えから借りた)

    ダイアログレイアウト:

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
    > 
        <WebView 
         android:id="@+id/webview" 
         android:scrollbars="vertical" 
         android:scrollbarAlwaysDrawVerticalTrack="true" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_centerInParent="true" /> 
    </LinearLayout> 
    

    URLをロードしますダイアログのWebViewで:

    final TextView seeMonthlyBill = (TextView) parentLayout 
          .findViewById(R.id.my_ac_my_service_timewarnercable_link); 
        seeMonthlyBill.setOnClickListener(new OnClickListener() { 
         @Override 
         public void onClick(View v) { 
          Dialog dialog = new Dialog(getActivity()); 
          dialog.setContentView(R.layout.web_dialog) 
          WebView wb = (WebView) dialog.findViewById(R.id.webview); 
          wb.getSettings().setJavaScriptEnabled(true); 
          wb.loadUrl("http://www.google.com"); 
          wb.setWebViewClient(new HelloWebViewClient()); 
          dialog.setCancelable(true); 
          dialog.setTitle("WebView"); 
          dialog.show(); 
         } 
        }); 
    
  • +0

    アプリ/パッケージ「com.package.address」が電話機に存在しない場合にのみウェブが開きます。私はウィンドウ/ポップアップではなく、Webビューで開くには、アプリケーションが必要です。 –

    +0

    については、@ CommonSWareの回答を参照してください – AndroidMechanic

    0

    Android Nの場合、ユーザがデバイスをマルチウィンドウモードにした場合、別のアクティビティを別のウィンドウに起動しようとするとuse FLAG_ACTIVITY_LAUNCH_TO_ADJACENTになる可能性があります。しかし、他のアプリの開発者が同意しなければならないので、これが動作することを保証することはできません。

    Android Nより前のバージョンでは、別のアプリケーションを特定のAPIを使用していない限り、別のアプリケーションをポップアップすることはできません。

    関連する問題