2013-04-29 30 views
17

Có thể hai ứng dụng có UserID được chia sẻ truy cập mỗi tài nguyên khác như drawables hoặc chuỗi không?Hai ứng dụng có UserID được chia sẻ

Họ có thể truy cập vào từng nội dung khác không?

Họ có thể bật hoặc tắt các thành phần của thiết bị khác không?

Nếu có thể làm như vậy, vui lòng giải thích cách thực hiện.

Tôi đã tìm kiếm rất nhiều nhưng không thể tìm thấy bất kỳ ví dụ nào về chia sẻ userId.

+0

Duplicate http: //stackoverflow.com/questions/9783765/what-is-shareduserid-in-androidhow-can-i-used-shareduserid – bleater

Trả lời

43

Bạn có thể sử dụng android:sharedUserId trong AndroidManifest.xml để cho phép ứng dụng của bạn chia sẻ cùng một id người dùng với một ứng dụng khác.

android: sharedUserId

Tên của một ID người dùng Linux sẽ được chia sẻ với ứng dụng khác. Theo mặc định, Android chỉ định cho mỗi ứng dụng ID người dùng duy nhất của riêng mình. Tuy nhiên, nếu thuộc tính này được đặt thành cùng một giá trị cho hai hoặc nhiều ứng dụng, tất cả chúng sẽ chia sẻ cùng một ID - miễn là chúng cũng được ký bởi cùng một chứng chỉ. Ứng dụng có cùng ID người dùng có thể truy cập dữ liệu của nhau và, nếu mong muốn, hãy chạy trong cùng một quy trình.

Lưu ý rằng chúng cần được ký bởi cùng một chứng chỉ.

Hai ứng dụng chia sẻ cùng một id người dùng có thể truy cập tài nguyên của nhau.

Ví dụ:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.shareusertesta" 
    android:versionCode="1" 
    android:versionName="1.0" 
    android:sharedUserId="com.example"> 

Sau đó, chúng ta có thể init một bối cảnh mới của com.example bởi:

Context friendContext = this.createPackageContext("com.example",Context.CONTEXT_IGNORE_SECURITY); 

Và truy cập vào một số tài nguyên của ứng dụng đó:

friendContext.getResources().getString(id); 
friendContext.getResources().getDrawable(id); 
friendContext.registerReceiver(...); 
+0

Tôi nhận được 'android.content.pm.PackageManager $ NameNotFoundException: Gói ứng dụng com.example không tìm thấy'. Ý bạn là tên gói đầy đủ? – coyer

Các vấn đề liên quan