0

我需要一些關於獲取軟件包名稱或使用特定意圖的應用程序名稱的說明,例如Camera。使用特定的意圖獲取軟件包名稱或應用程序名稱

我正在開發一個應用程序,掃描應用程序使用相機在背景或其他一些像麥克風等。但我找不到任何方式來獲得這樣的細節。 任何幫助,將不勝感激。 感謝

+0

也請告訴我,如果我可以顯示一個對話框要求一些使用像棉花糖6.0相機的權限。我需要這樣的東西來做棉花糖23 api以下的設備。像啓動相機應用程序應該問對話的權限,如果我點擊否,它應該關閉相機應用程序。 –

+0

「這是使用特定的意圖說,相機」 - 「相機」不是一個「意圖」。 「但是我找不到任何方法來獲取這些細節」 - 希望這種方式不適用於您,除了可能在根植設備上使用,因爲隱私原因。 – CommonsWare

+0

@CommonsWare是啊意圖使用相機..我可以使用設備管理員來做到這一點。像啓用設備管理員的應用程序? –

回答

0

也請告訴我,如果我可以顯示一個對話框,詢問一些權限 使用照相機像棉花糖6.0。我需要這樣的東西在棉花糖23 api以下的設備中做 。就像啓動相機應用 應該問的許可,在一個對話框中,如果我點擊不應該 關閉相機應用

對於Android的棉花糖,每當要啓動攝像頭,你應該檢查你是否有權限訪問攝像頭,如果沒有,你可以通過顯示系統對話框請求的權限 -

if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { 
      ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, 1001); //May be any number 
    } else { 
     //Launch camera since you have the permission 
} 

而且,你必須實現onRequestPermissionsResult()回調,這樣你可以檢查權限對話框中的用戶行爲,並作出相應的反應 -

@Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
     super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
     switch (requestCode) { 
      case 1001 : //Same request code 
       if (grantResults.length <= 0 || grantResults[0] != PackageManager.PERMISSION_GRANTED) { 
        Toast.makeText(MainActivity.this,"Camera permission requied", Toast.LENGTH_LONG).show(); 

       } else if (grantResults.length > 0 && (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED)) { 
        //Launch camera 
       } 
       break; 
     } 
    } 
+0

我不是要求6.0先生。我需要這樣的東西爲Android 5.0,4.0,...不是棉花糖。我在棉花糖知道它的可能性。但我在其他版本中也需要這個東西 –

+0

哦!但是,爲什麼從6.0之前開始需要這些權限,如果您在Manifest文件中指定了這些權限,那麼您已經獲得了這些權限? –

+0

如果我需要5.0中的相同功能,該怎麼辦?或4.0 –

相關問題