2015-04-18 3 views
3

В Android я помню, что было обязательно запрашивать разрешения (ы) на использование камеры или доступ к Интернету в приложении.Android-разрешение для камеры и Интернета

Но я сделал небольшой тест, в котором я не запрашивал ни одного из вышеуказанных разрешений, и я ожидал, что мое тестовое приложение будет аварийно и сгорело.

Но этого не произошло !!

Я смог использовать камеру и получить доступ к Интернету без запроса разрешений, и я протестировал на 3 устройствах, все с различными версиями Android.

Вот код:

public class MainActivity extends Activity implements View.OnClickListener 
{ 
    private int cameraCode = 0; 
    private Button start_cam; 
    private Button start_internet; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     start_cam = (Button) findViewById(R.id.camera); 
     start_internet = (Button) findViewById(R.id.internet); 

     start_cam.setOnClickListener(this); 
     start_internet.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) 
    { 
     switch(v.getId()) 
     { 
      case R.id.camera: 
       Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
       startActivityForResult(intent, cameraCode); 
       break; 
      case R.id.internet: 
       Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.imdb.com")); 
       startActivity(browserIntent); 
       break; 
     } 
    } 
} 

манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.permissions.linux.android"> 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="16" /> 

    <application 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name"> 

     <activity 
      android:name="com.permissions.linux.androi.android.MainActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 


    </application> 

</manifest> 

Вопрос в том, почему она не врезаться?

+0

Вы назвали Camera and Browser Intents. –

ответ

3

Я был в состоянии использовать камеру и доступ к Интернету, не запрашивая разрешения

Нет, вы не были. Вы могли запросить другие приложения «использовать камеру и получить доступ в Интернет» от вашего имени. Ваша заявка напрямую не использовала камеру, и ваше приложение не получило прямого доступа к Интернету. Для других приложений, к которым вы привязались, необходимы разрешения CAMERA и INTERNET для выполнения своих задач. Иногда вам может потребоваться определенное разрешение даже для того, чтобы заставить стороннее приложение сделать что-то для вас, что не обязательно делать снимок или просматривать веб-страницу.

Смежные вопросы