0

パッケージ名が異なる2つのアプリケーションがあります。例:App1とApp2。

App1は、バックエンドにアップロードできるように、いくつかのファイルをApp2の内部メモリに書き込む必要があります。

私はこれを行うためにApp1で以下を使用しました:

filePath = getPackageManager().getPackageInfo("app2.package.name", 0).applicationInfo.dataDir;

正しいパスを取得できましたが、書き込むことができませんでした。logcatを確認しましたが、「許可が拒否されました」と表示されています。

私は何かが足りないのですか?他に何をする必要がありますか?

4

2 に答える 2

0

Androidマニフェストでandroid:sharedUserIdを使用しましたが、アプリの内部メモリに書き込むことができるようになりました。

私の唯一の目的はテキストファイルを書くことであるため(共有などは含まれません)、これを実装するのが最も簡単であることがわかりました。

于 2012-12-03T08:55:46.663 に答える
-1

別のアプリケーションの内部メモリに直接アクセスすることはできません。デバイスのルート アクセス権がある場合にのみ、これを行うことができます。

しかし、なぜあなたのアプリが別のアプリのメモリに書き込む必要があるのでしょうか? 2 つのアプリ間で何らかの通信を行う必要がある場合は、別の方法があります。つまり、サービス、コンテンツ プロバイダーを使用するか、インテントをブロードキャストして他のアプリで受信します。

于 2012-11-27T07:17:30.233 に答える