2012-04-06 8 views
1

私はアンドロイドアプリケーションを作成しており、別のアプリケーションのデータベースファイルに直接アクセスしたい(そこから読む)。アプリケーションは互いにサンドボックス化されているので、これを実行する最善の方法は何ですか。私はアプリがルートパーミッションを必要とすることで大丈夫です、私はこれを行うための最良の方法が何であるかについて確信しています。他のアプリケーションのデータベースにアクセス

私が起動するたびにsuコマンドを使用してアプリケーションのローカルエリアにデータベースのコピーを作成し、そのデータベースを使用する必要がありますか?データベースに直接アクセスする必要はありますか?

答えて

3

両方のアプリを開発していますか?その場合は、正しい方法はContentProvidersを使用することです。データベースを使用してアプリケーションを開発していない場合は、その開発者にContentProviderを提供するかどうかを確認してください。

アクセスしようとしているデータベースのアプリケーションがデータに簡単にアクセスできない場合は、ルートなしでこれを行うことはできません。その時点で問題が何度も困難になっています。

+0

残念ながら私は両方のアプリを開発していません。具体的には、私は、Google Voiceを介して直接電話をかけたり、数字を送信したりするために使用されている番号マッピングを持つGoogle Voiceアプリに含まれているデータベースを使用しようとしています。 – xur17

+0

[this](http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/)によると、 "Process p = Runtime"コマンドを使用する必要があります.getRuntime()。exec( "su"); "しかし、シェルでコマンドを実行する権限をエスカレートするだけで、アプリケーション起動時にファイルをコピーしなければならない可能性が高いと仮定しています。ファイルに直接アクセスする方法はありますか? – xur17

関連する問題