Android 相机和互联网权限
Android permission for camera and Internet
在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>
问题是,为什么没有崩溃?
I was able to use the camera and access the Internet without requesting for permissions
不,你不是。您可以代表您询问 其他应用程序 "to use the camera and access the Internet"。您的应用程序没有直接使用相机,您的应用程序没有直接访问互联网。您链接到的其他应用程序将需要 CAMERA
和 INTERNET
权限才能完成它们的工作。虽然有时您甚至可能需要持有特定权限才能让第三方应用程序为您执行某些操作,但拍照或查看网页则不需要。
在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>
问题是,为什么没有崩溃?
I was able to use the camera and access the Internet without requesting for permissions
不,你不是。您可以代表您询问 其他应用程序 "to use the camera and access the Internet"。您的应用程序没有直接使用相机,您的应用程序没有直接访问互联网。您链接到的其他应用程序将需要 CAMERA
和 INTERNET
权限才能完成它们的工作。虽然有时您甚至可能需要持有特定权限才能让第三方应用程序为您执行某些操作,但拍照或查看网页则不需要。