2017-05-14 74 views
0

我正在使用以下代碼來請求我的應用程序中的良好位置權限,但運行時,請求對話框會在應用程序後面打開,因此用戶在應用程序關閉之前不會看到它。Android權限對話框在應用程序後面打開

ActivityCompat.requestPermissions(this, 
      new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
      MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION); 

如何使對話框中的應用程序的前面開路,也有我的應用程序知道用戶何時答覆請求(或者與方式的接受或拒絕 - 我不知道一定需要知道哪個)?顯示

package com.myApp; 

import android.Manifest; 
import android.support.v4.app.ActivityCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 


public class permissionsCheckAndSet extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_permissions_check_and_set); 
    } 

    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
    } 

    public void clickRequestPermissions(View v) { 
     Toast.makeText(this, "Request permissions now", Toast.LENGTH_LONG).show(); 
     doRequestPermissions(); 

    } 

    public void doRequestPermissions() { 
     ActivityCompat.requestPermissions(this, 
       new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
       MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION); 

    } 
} 

爲了解釋完整的用戶流量...

所有閃屏的第一:活動

的完整代碼。這個屏幕檢查各種東西 - 網絡可用,互聯網可用,在線數據庫可用。此初始屏幕還會檢查是否已嚮應用程序授予所需的(不是必需的,但是期望的)權限。在進行這些檢查時,向用戶提供視覺反饋,以便他們可以看到發生了什麼。

如果一切正常,主應用程序活動屏幕打開。

如果權限檢查確定尚未授予其中一個或多個所需權限,則會打開上面的活動顯示。

此活動的屏幕建議用戶未授予某些權限。它繼續解釋每個權限需要什麼。最後解釋說,單擊屏幕底部的按鈕將提示他們允許或拒絕應用程序所需的每個權限。

clickRequestPermissions是連接到權限信息屏幕底部按鈕的功能。

我假設我不需要發佈與活動佈局相關的所有XML,但它是android:theme="@style/AppTheme.NoActionBar"活動。

+0

請求您發佈該代碼的位置 – Pavan

+0

發佈完整代碼@FatMonk – jagapathi

+0

clickRequestPermissions()從何處調用該函數?仍然你不解釋完全implimentation – jagapathi

回答

0

您可以先創建SplashScreenActivity檢查權限,以後的接收結果可以啓動您的活動。

+0

這是我在做什麼。我有一個啓動畫面,檢查一些事情 - 包括權限,但也網絡訪問等 - 如果需要額外的權限,然後我打開一個活動,解釋顯示Android對話框之前需要什麼權限。 –

+0

您可以在SplashScreen上的TextView上創建解釋,稍後的Text Scrooll會向用戶顯示權限。 – Dungnbhut

+0

這不是我想要的流程工作。我的方法是推薦的Android 6+流程之一 - 檢查,然後僅在用戶沒有爲應用程序啓用這些權限時才顯示解釋權限的屏幕。該對話框應顯示在應用程序活動屏幕的頂部 - 我不重新設計整個方法來解決我認爲簡單的問題,但我錯過了。 –

相關問題