2012-11-27 2 views
0

다른 패키지 이름을 가진 2 개의 응용 프로그램이 있습니다. 예 : App1 및 App2.다른 응용 프로그램의 내부 메모리에 쓰기

App1은 일부 파일을 App2의 내부 메모리에 기록하여 백엔드에 업로드 할 수 있어야합니다.

나는 앱 1에 다음 그렇게하는 데 사용한 :

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

내가 올바른 경로를 얻을 수 있지만 쓸 수 없습니다. 나는 logcat을 점검했는데, "Permission denied"를 보여주고있다.

나는 뭔가를 놓친가요? 그 밖에 무엇이 필요합니까?

감사의 말

+0

[Content Provider] (http://developer.android.com/guide/topics/providers/content-providers.html) –

답변

-1

다른 응용 프로그램 내부 메모리에 직접 액세스 할 수 없습니다. 기기에서 루트 액세스 만 할 수 있습니다.

하지만 앱이 다른 앱의 메모리에 기록해야하는 이유는 무엇입니까? 2 개의 앱 사이에 통신을해야하는 경우 다른 방법이 있습니다. 즉 서비스, 콘텐츠 제공 업체를 이용하거나 의도를 방송하고 다른 앱과 함께 수신합니다.

+0

을 구현해야합니다. 하나의 앱이 콘텐츠 제공자를 구현하도록 허용하고 다른 응용 프로그램에 데이터 –

+0

이것은 전화 메모리에서 연락처와 이미지를 수정하는 방법입니다. –

+0

물론 다른 응용 프로그램의 내부 메모리에 직접 액세스 할 수는 없습니다. – Cattivo

0

모든 조언을 제공해 주셔서 감사합니다. 안드로이드 매니페스트에서 android : sharedUserId를 사용했으며 이제 앱의 내부 메모리를 통해 쓸 수 있습니다.

내 유일한 목적은 텍스트 파일을 쓰는 것입니다 (공유 등은 필요 없습니다). 가장 쉬운 방법은 구현하는 것입니다.

관련 문제