受限制的配置文件現在可以在4.3的Android中使用,我開始知道某些應用程序如攝像頭,gmail等在這些類型的配置文件中不可用。我如何在我的應用程序中管理這些類型的條件?還有如何管理應用產品和受限制的配置文件設置對應於我的應用程序?如何在Android應用程序中管理受限配置文件?
回答
用戶控制您構建的限制的UI由系統的「設置」應用程序管理。爲了讓您的應用程序的限制設置對用戶顯示,您必須通過創建BroadcastReceiver
來聲明您的應用程序提供的限制,其中收到ACTION_GET_RESTRICTION_ENTRIES
意圖。系統調用此意圖查詢所有應用程序的可用限制,然後構建UI以允許主要用戶管理每個受限配置文件的限制。
欲瞭解更多信息看http://developer.android.com/about/versions/android-4.3.html#RestrictedProfiles
由於即使我已經訪問過
http://developer.android.com/about/versions/android-4.3.html#RestrictedProfiles
我想從參考與
https://www.youtube.com/watch?v=pdUcANNm72o
限制的個人資料改進user370305是Android Jell中引入的一項新功能y Bean 4.3,可讓您在共享平板電腦時爲應用的用戶提供更好的控制。
這些受限制的配置文件共享應用程序,主要用戶帳戶的Google帳戶但受到限制。他們無法訪問Gmail,Play商店,日曆等。主用戶可以爲每個應用程序選擇限制。
的UserManager類被擴展用於管理這些限制
UserManager.getUserRestrictions返回強加在用戶的用戶範圍內的限制指定
UserManager.getApplicationRestrictions返回包含任何保存的應用限制爲這個用戶束,對於給定的包名稱。只有具有此包名稱的應用程序才能調用此方法。
如果需要特定的設置使用此意圖過濾
<receiver android:name="GetRestrictionsReceiver">
<intent-filter>
<action android:name="android.intent.action.GET_RESTRICTION_ENTRIES "/>
</intent-filter>
</receiver>
現在實現與限制條目列表廣播接收器返回這樣
public class GetRestrictionsReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
final PendingResult result=goAsync();
new Thread(){
public void run(){
final Bundle extras=new Bundle();
ArrayList<RestrictionEntry> newEntries = initRestricions(context);
extras.putParcelableArrayList(Intent.EXTRA_RESTRICTIONS_LIST, newEntries);
result.setResult(Activity.RESULT_OK, null, extras);
result.finish();
}
}.start();
}
}
是選擇公開這樣的任何應用程序限制通過實現處理ACTION_GET_RESTRICTION_ENTRIES操作的接收器來實現。接收者然後返回一個結果包,其中包含一個名爲「restrictions」的條目,其值是一個ArrayList。
有3種限制入境
- 布爾
- 單選
- 選擇題
可以使用RestrictionEntry不同的方法來設置和獲取不同類型的限制。 restrictedAccountType屬性標籤:
爲了從受限個人資料存取的帳戶,則必須添加的Android
<application ...
android:restrictedAccountType="com.example.account.type" >
你可以用下面的代碼段來檢測,如果你的應用程序在受限制的配置文件中運行模式!
import android.content.pm.UserInfo;
import android.os.UserHandle;
import android.os.UserManager;
public static boolean isRestrictedProfileInEffect(Context context) {
UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
UserInfo restrictedUserInfo = null;
for (UserInfo userInfo : userManager.getUsers()) {
if (userInfo.isRestricted()) {
restrictedUserInfo = userInfo;
}
}
boolean isOwner = UserHandle.myUserId() == UserHandle.USER_OWNER;
boolean isRestrictedProfileOn = restrictedUserInfo != null && !isOwner;
return isRestrictedProfileOn;
}
- 1. WebSphere中的JavaEE應用程序配置管理(帶限制)
- 2. 如何在應用程序配置中管理密碼
- 3. 如何在Android應用程序中實現配置文件?
- 4. 如何在Android上配置Jetty應用程序以接受JSP?
- 5. 如何在Android 5.0中使用受管配置文件設置設備密碼
- 6. 應用程序配置文件清理
- 7. .NET應用程序的配置管理
- 8. 應用程序配置管理工具
- 9. 配置管理應用程序塊
- 10. WAT VS IIS管理器在asp.net應用程序管理配置
- 11. 如何管理Android應用程序的脫機試用期限?
- 12. android應用程序配置文件
- 13. .net應用程序的配置文件管理
- 14. .net應用程序的配置文件內容管理
- 15. 從配置文件強制應用程序到管理
- 16. 管理mvc應用程序的發佈配置文件
- 17. 如何管理ASP.NET中的應用程序配置?
- 18. 應用程序集中式配置管理系統如何?
- 19. 如何在運行時管理Web應用程序配置?
- 20. 在開發過程中管理多個應用程序配置文件
- 21. 在android中安裝具有管理權限的應用程序
- 22. 如何在Android Market中私密地管理Android應用程序?
- 23. 如何在Java應用程序中實現管理員權限?
- 24. 管理Android應用程序
- 25. 如何在Android中使用SVN管理文件權限
- 26. 寫作配置文件:\程序文件(x86)\ MyApp的\ myapp.cfg,對管理員權限
- 27. 如何正確管理應用程序配置
- 28. 如何創建應用程序受限文件夾
- 29. 如何在Android應用程序中使用設備中的配置文件?
- 30. 如何在Web應用程序中使用配置文件
+1非常有幫助的概述! – rekire
請確保您使用GET_RESTRICTION_ENTRIES而不是GET_RESTRICTIONS_ENTRIES,因爲我剛剛在此上浪費了幾個小時。 – RuAware
@RuAware感謝您的修正 –