我想做一個android應用程序的權限(對於android 6.0及以上)要求在下一個活動被調用之前。但每次我嘗試,它會去下一個活動,並回去,我看到的權限被問到。有沒有辦法首先運行權限,只有一次結束後,才能進入下一個活動?如何以順序方式運行android函數?
0
A
回答
0
只有當授予權限時才啓動您的活動,否則請求權限。
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP_MR1){
// Use your own required permission here instead of WRITE_EXTERNAL_STORAGE
if(!(getActivity().checkSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE") == PackageManager.PERMISSION_GRANTED)){
// Permission not already granted, Asking for permission
String[] perms = {"android.permission.WRITE_EXTERNAL_STORAGE"};
requestPermissions(perms, 200);
}else {
// Permission already granted, starting activity ...
Intent i = new Intent(getApplicationContext(), YourActivity.class);
startActivity(i);
}
}
onRequestPermissionsResult()
在授權或拒絕來自用戶對話框的權限時被調用。當用戶從權限提示中選擇一個選項時,可以用它來處理事件。
/**
Called when permission granted or denied
*/
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode){
case 200:{
if(grantResults[0] == PackageManager.PERMISSION_GRANTED){
// Permission granted, starting activity ...
Intent i = new Intent(getApplicationContext(), YourActivity.class);
startActivity(i);
}else{
Toast.makeText(ctx, "Permission Denied by user. Please grant access to continue.", Toast.LENGTH_SHORT).show();
}
}
}
}
+0
是否可以授予權限(如果未給出權限),然後啓動活動而不是將其放入else語句中? –
+0
不!該權限必須由用戶授予/拒絕。因此被稱爲「許可」。 :D –
+0
我的意思是,檢查是否授予許可,授予他們,如果尚未,否則skip.Then立即開始活動 –
相關問題
- 1. 如何順序運行3個函數?
- 2. 如何順序執行android函數?
- 3. 如何以隨機順序運行函數?
- 4. 如何以線性方式優先執行Jquery函數? (按順序)
- 5. C++繼承順序以何種方式影響構造函數?
- 6. 按順序運行多個Javascript函數?
- 7. 按順序運行nodejs中的函數
- 8. Jquery Impromptu函數運行順序問題
- 9. Java存儲函數運行順序
- 10. Python 3:如何用隨機順序的參數運行函數?
- 11. 如何順序運行AsyncTasks
- 12. java中的線程以順序方式運行
- 13. 運行函數時輸出的順序與順序不匹配
- 14. 以數字順序運行sql腳本
- 15. 如何編寫接受callBack函數的函數並以「安全」方式運行?
- 16. 如何使按鈕按下時jQuery函數按順序運行?
- 17. 如何按目標順序運行函數c
- 18. 如何按順序運行異步Javascript函數
- 19. 如何使函數在android編程中按照一定的順序運行?
- 20. 如何以順序方式執行javaFX任務,服務
- 21. 按順序運行函數而不嵌套函數 - jQuery
- 22. 如何以相同的方式改變NSMutable數組的順序
- 23. Android,如何運行Chrome快捷方式?
- 24. Android |以編程方式運行命令
- 25. 程序以奇怪的順序運行?
- 26. Javascript函數執行順序
- 27. 如何以編程方式運行testng?
- 28. 如何以被動方式運行Router.route()
- 29. SSIS 2008運行順序程序包的最佳方式
- 30. 如何以任何順序使用PHP函數或方法參數?
如果您沒有授予「授予」權限,它將顯示彈出窗口。 –
您的許可提示對話框可能是按順序開始的,但隱藏在新活動的後面,因此在您關閉新活動時可見。 –