6

ボタンをクリックするだけで、別の、すでにインストールされているAndroidアプリケーションを別のアプリケーション内で開こうとしています。新しいアプリケーションは、呼び出し元のアプリケーション内の画面の一部で開く必要があります。

現在、私のコードは新しいインテントを作成し、その中で呼び出されたアプリケーションを実行します。呼び出し元のアプリケーションが消えます。これが私のコードです:

        b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            PackageManager pm = getPackageManager();
            Intent intent = pm.getLaunchIntentForPackage("com.ritwik.camera");
            startActivity(intent);
        }

    });

理想的には、親(呼び出し元)アプリケーションを脇に置くことなく、同じ画面の一部として開く必要があります。それ、どうやったら出来るの?

4

3 に答える 3

3

別のアプリケーションを実行するインテントを開始すると(つまり、ランチャーまたはメインメニューの置換を実装しているため)、実際には、特定のパッケージ(または特定の制約を満たすアプリケーションなど)で識別されるアプリケーションを実行するようにAndroidに要求しています。画像やビデオなどを処理します)、含まれているアクティビティに関する手がかりや参照はありません(または取得する機能もありません...)。

したがって、現在のバージョンのOSでは達成しようとしていることは不可能だと思います(一部のベンダーがそれを行うための拡張機能を提供していない限り、Pratikのコメントを参照してください)。

于 2013-03-26T12:26:08.737 に答える
1

私の知る限り、これは不可能です。新しいアクティビティを起動することしかできませんが、それを制御することはできません。

編集:一部のデバイスは、Cornerstoneまたは同様のフレームワークを使用してこの可能性を提供しますが、開発者が自分のアプリにこれを使用するオプションを見たことがありません。

于 2013-03-26T12:21:07.953 に答える
1

新しいアプリケーションは、呼び出し元のアプリケーション内の画面の一部で開く必要があります。

これは、従来のサードパーティアプリケーションUIでは不可能です。

AFAIK、分割画面機能(Adaptive UI)は、Android3.0以降でサポートされています。

これは、サードパーティアプリのUIを自分のアプリに埋め込むこととは何の関係もありません。

そのため、「現在のバージョンのOSでは不可能」という意味がわかりませんでした。

2013年3月26日午前9時50分(東部標準時間)までにリリースされたAndroidのストックバージョンでは利用できません。

Samsungなどの特定のデバイスメーカーは、マルチウィンドウ機能を備えたAndroidを拡張しています。ただし、これらのウィンドウの制御は、ユーザーと(変更された)OSにあります。S-Pen SDKにこのための何かがない限り、別のウィンドウを開始する方法はありません。

AndroidにはRemoteViews、プロセス間で簡略化されたUIを渡す手段であるがあります。RemoteViewsこれを使用すると、あるアプリが別のアプリによって公開されたものを埋め込むことができます。これは、たとえばホーム画面のアプリウィジェットで確認できます。AppWidgetProviderただし、アプリウィジェットをホーム画面に提供するためにを公開するアプリなど、両方のアプリはこれを念頭に置いて作成する必要があります。

于 2013-03-26T13:50:39.763 に答える