簡體   English   中英

適用於Android 5 Samsung設備的Android使用權限

[英]Android Usage Access for Android 5 Samsung devices

您可能知道,自Android 5啟動以來,訪問設備的最近任務(使用情況統計信息)需要用戶手動啟用此功能(設置 - >安全 - >使用權限)。

我的應用程序檢查設備是否使用Android 5,如果是,則為用戶提供打開設置屏幕以啟用使用權限的可能性:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
                    startActivityForResult(intent, 12345);

當我嘗試在運行Android 5的三星設備中執行此操作時出現問題...當執行上面顯示的行時出現此錯誤:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.USAGE_ACCESS_SETTINGS }
            at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
            at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499)
            at android.app.Activity.startActivityForResult(Activity.java:3913)

似乎尚未實現Settings.ACTION_USAGE_ACCESS_SETTINGS操作,這很奇怪,因為如果您轉到“設置”選項以啟用應用程序以訪問此使用情況統計信息是...

知道如何解決這個特定情況下的這個問題?

對不起,遲到的回復,我希望你找到了一個很好的解決方案,但如果沒有,或者對於有這個問題的其他人,

這個bug似乎存在於某些三星機型中,以避免您的應用程序崩潰,也許您可​​以檢查您的意圖是否可以處理

PackageManager packageManager = getActivity().getPackageManager();

if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent);
} else {
    Toast.makeText(getBaseContext(), "Please open settings, your model can't be forced 
                          to open it", Toast.LENGTH_LONG).show();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM