Exported activity does not require permission

根据android资料解释,如题所示的警告:Exported activity does not require permission意味着:在一个应用程序中添加了多个antivity后,是因为在Activity中添加了intent-filter属性。

上述这个属性的添加意味着,该Activity已经暴露给了不同进程的应用。也就是说,其它的应用程序不需要任何权限就可以自由的实例化该Activity。显然,如果不是有特殊需求,没人会希望自己写得应用程序会有这么个隐患。

解决方法之一是在Activity中添加:android:exported="false"。

还有一种解决方法是定义Activity的权限。先在<manifest>标签下加入<permission android:protectionLevel="normal" android:name="oem.permission.SENDMAIL"></permission>然后在<service>标签下android:permission="oem.permission.SENDMAIL" <service android:permission = "oem.permission.SENDMAIL"  android:name = ".AIDLService" >   <intent-filter>     <action android:name = "com.example.server.AIDLService"  />     <category android:name = "android.intent.category.DEFAULT"  />   </intent-filter></service>

在我目前测试的拇指接龙游戏中在测试接入ShareSDK时即出现上述警告,在请教了ShareSDK服务人员后,说是不影响集成,只好先放过去上述警告了。

时间: 2024-10-11 04:20:24

Exported activity does not require permission的相关文章

android 警告:Exported activity does not require permission

在一个应用程序中添加了多个antivity后,在manifest.xml文件中会除了主Activity外,其它的Activity属性中都会有个警告: Exported activity does not require permission 这是因为在Activity中添加了intent-filter属性,这个属性的添加意味着该Activity已经暴露给了不同进程的应用,也就是 说其它的应用程序不需要任何权限就可以自由的实例化该Activity.显然,如果不是有特殊需求,没人会希望自己写得应用程

Exported service does not require permission问题。

今天在编辑一个简单的aidl的例子的时候遇到的一个小问题.本来编辑完后准备运行,无意中看到AndroidManifest.xml有个警告,内容为“Exported service does not require permission”.配置文件代码如下: 1 <service android:name=".AidlService"> 2 <intent-filter > 3 <action android:name="com.example.m

安卓创建快捷方式相关问题 Intent Intent-filter

Intent 在安卓中,Activity启动时通常需要Intent参数.Intent参数中包含以下几个常用的属性: Component,指定了要启动的Activity,以及启动的context,使用Intent.setClass或Intent.setComponent方法可以设置: Action属性,可用Intent.setAction方法设置: Category属性,可用Intent.addCategory方法添加,Action和Category属性一般用于做过滤: Extra属性,用于传入一

【案例分析】android广播接收不到原因分析

[概述] 本人正在学习android开发,最近在练习android自定义广播的时候,发现广播怎么也接收不到.甚是奇怪,看到网上也有很多同学遇到同样的问题.今天特别总结一下,以供大家参考.当然如有纰漏错误,望各位指正. 本次讨论的是广播访问的权限问题,对于显示或者隐式的问题,不在这里赘述. [版本] API版本为v21 [问题概述] 我先介绍一下我学习的例子.非常简单,通过一个button触发一个自定广播. 代码如下. 1 public class MyBroadcastReceiver exte

LaPlayer(1)------Service浅析

Service是一个长期运行在后台,并不提供界面的应用组件.其他组件可以启动一个服务,并且即使用户切换到其他的应用,该服务仍可在后台继续运行.另外,组件可以把某个服务邦定到自己,来与其交互通信,甚至包括执行进程间通信(IPC).因此在播放器的开发中,为了让播放音乐不依赖于具体的Activity,将播放音乐的控制放于Service中. Service和Activity一样,需要在AndroidMainfest.xml中进行配置,配置如下: 1 <service 2 android:name="

Android框架中的广播机制

一.广播通过Intent发送出去 // 定义广播的意图过滤器 private String action = "com.xxx.demo.Broadcast.STATUS_CHANGED"; // 发送广播 Intent intent = new Intent(); intent.setAction(action); ServiceSimulation.this.sendBroadcast(intent); 二.定义接收该广播的BroadcaseReceiver类 1.继承自继承自an

Android Lint简介(转)

转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 一.简介 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及

Android Remote Service 外部访问权限控制

<Service> 可以通过以下参数限制外部访问 android:exported="false"  //不允许其他进程访问 android:process=":remote"  //声明service独立运行进程名称 如果需要支持外部访问,但限定只有某些进程可以访问 <permission android:name="com.example.REQUEST_FINGERPRINT" android:protectionLeve

AndroidMainfest.xml详解——&lt;activity&gt;

语法: <activity android:allowEmbedded=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:autoRemoveFromRecents=["tru