android权限
Posted zhoudingzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android权限相关的知识,希望对你有一定的参考价值。
一、WebView 访问internet 的权限:
1、在layout中增加一个WebView 控件:
<WebView
android:layout_width="match_parent" //使该控件占满这个手机屏幕
android:layout_height="match_parent"
android:id="@+id/wv"></WebView>
2、 在java 文件中调用WebView 实例访问 URL :
private WebView wv;
wv = (WebView) findViewById(R.id.wv);
wv.loadUrl("http://jikexueyuan.com");
3、WebView 要访问一个网站,需要权限,在 Menifest 中申明 WebView 访问互联网的权限:
<uses-permission android:name="android.permission.INTERNET"/>
二、 在APP1中启动另一个APP2的activity:
1、在 APP2 中创建一个Activity ,并在APP2 的 manifest 中申明该 Activity:
<activity
android:name=".MyAty"
android:label="@string/title_activity_my_aty"
android:theme="@style/AppTheme.NoActionBar"
android:permission="com.zhou.componentpermission.permission.MyAty">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="com.zhou.componentpermission.intent.action.MyAty"/>
</intent-filter>
</activity>
2、 在APP1 的manifest 中申明使用 APP2 的 MyAty 的权限:
<permission android:name="com.zhou.componentpermission.permission.MyAty"/>
<uses-permission android:name="com.zhou.componentpermission.permission.MyAty"/>
3、 在 APP1 中启动 APP2 的 MyAty:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btnStartMyAty).setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnStartMyAty:
startActivity(new Intent("com.zhou.componentpermission.intent.action.MyAty"));
}
}
}
三、 在同一个APP中给某个方法加上权限:
1、 定义一个 sayHello方法:
public class Hello { public static final String PERMISSION_SAY_HELLO = "com.zhou.checkpermissionincode.permission.SAY_HELLO"; public static void sayHello(Context context){ int checkResult = context.checkCallingOrSelfPermission(PERMISSION_SAY_HELLO); if(checkResult != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("执行sayHello 方法需要有com.zhou.checkpermissionincode.permission.SAY_HELLO 权限 "); } System.out.println("hello , jikexueyuan" + PERMISSION_SAY_HELLO); } }
如果没有权限, 执行if语句,抛出异常,程序终止,不会执行后面的 println 。
授权的方法:在manifest 中申明:
<permission android:name="com.zhou.checkpermissionincode.permission.SAY_HELLO"/>;
<uses-permission android:name="com.zhou.checkpermissionincode.permission.SAY_HELLO"/>
以上是关于android权限的主要内容,如果未能解决你的问题,请参考以下文章
在Android Fragment中允许权限导致应用程序崩溃?
无法在 android TV Preferences 片段中找到提供者