2017-05-14 51 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+流程之一 - 检查,然后仅在用户没有为应用程序启用这些权限时才显示解释权限的屏幕。该对话框应显示在应用程序活动屏幕的顶部 - 我不重新设计整个方法来解决我认为简单的问题,但我错过了。 –

相关问题