禁止从别的应用启动Activity

在Manifest.xml中设置android:exported="false"即可,如:
<activity android:name=".MyAty" android:exported="false">    <intent-filter>        <category android:name="android.intent.category.DEFAULT"/>        <action android:name="com.example.administrator.learnintent.action.myaty"/>    </intent-filter></activity>

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。

总体来说它的主要作用是:是否支持其它应用调用当前组件。 
默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false。

时间: 2024-11-13 08:30:22

禁止从别的应用启动Activity的相关文章

【Android framework】am命令启动Activity流程

源码基于Android 4.4. am start -W -n com.dfp.test/.TEstActivity -W:等目标Activity启动后才返回 -n:用于设置Intent的Component Am.java->run()->runStart() ——intent = makeIntent(); ——intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ——mAm.startActivityAndWait();              

Android 7.0 ActivityManagerService(2) 启动Activity的过程:一

从这一篇博客开始,我们将阅读AMS启动一个Activity的代码流程. 自己对Activity的启动过程也不是很了解,这里就初步做一个代码阅读笔记,为以后的迭代打下一个基础. 一.基础知识 在分析Activity的启动过程前,有必要先了解一下Activity相关的基础知识. 1.Task和Activity的设计理念 关于Android中Task和Activity的介绍,个人觉得<深入理解Android>中的例子不错. 我们就借鉴其中的例子,进行相应的说明: 上图列出了用户在Android系统上

启动Activity时的方法调用(应用层)(MVC模式)

一,从桌面启动应用 从桌面启动一个应用其实质也是从一个Activity中启动另一个Activity,比如官方的实例代码中: android/platform_packages_apps_launcher /** * 点击桌面图标启动Intent指向的Activity * * @param v The view representing the clicked shortcut. */ public void onClick(View v) { Object tag = v.getTag();//

在BroadcastReceiver中启动Activity的问题

/** * Demo描述: * 在BroadcastReceiver中启动Activity的问题 * * 如果在BroadcastReceiver的onReceive()方法中如下启动一个Activity * Intent intent=new Intent(context,AnotherActivity.class); * context.startActivity(intent); * 可捕获异常信息: * android.util.AndroidRuntimeException: * Ca

关于通过adb启动Activity、activity、service以及发送broadcast的命令

一.启动activity: $ adb shell$ am start -n {包名}/{包名}.{活动名称} 如:启动一个名叫MainActivity的活动 # am start -n com.example.test/com.example.test.MainActivity 二.启动service: $ adb shell$ am startservice -n {包名}/{包名}.{服务名称} 如:启动一个名叫MyService的服务 # am startservice -n com.e

C# 禁止同一个客户端重复启动,但允许不同客户端的同一进程启动

安装一个客户端时,多次启动禁止,但安装该客户端两个以上时,允许同时运行,且每个只允许运行一次. 首先判断进程运行次数,进程无运行时,运行打开,进程运行个数大于1时,读取每个进程路径,判断路径是否重复,有重复则不允许启动,无重复,则运行启动. #region 判断系统是否已启动 string str = ""; str = System.Diagnostics.Process.GetCurrentProcess().ProcessName; System.Diagnostics.Proc

使用intent来启动activity

Intent最常见的用途是绑定应用程序组件,并在应用程序之间通信.Intent用来启动Activity,允许创建不同屏幕的一个工作流. 要创建并显示一个Activity,可以调用startActivity,并传递给它一个Intent,如: startActiiy(myintent); 可以构造Intent来显示地指定要打开的Activity类,或者包含一个目标Activity必须执行的动作.在后面一种情况时,运行时将会使用一个成为"intent解析"的过程来动态选择activity.

Android隐式启动Activity匹配详解:Action,category,data

更多例子请参考:http://hi.baidu.com/wishwingliao/blog/item/0a38ccfce06f39e8fc037f85.html 隐式启动Activity的intent到底发给哪个activity,需要进行三个匹配,一个是action,一个是category,一个是data,可以是全部或部分匹配 同样适用于Service和BroadcastReceiver,下面是以Activity为例 MainActivity.java --主Activity TestActiv

[Android UI] Service里面启动Activity和Alertdialog

启动Activity源码:(记得要加上Intent.FLAG_ACTIVITY_NEW_TASK) Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClass(getApplicationContext(),FileBrowserActivity.class); startActivity(intent); 原因:如果一个外部的Activity Context调用sta