`

外部应用访问

阅读更多

  使用context中的文件输出流它有四种模式: 
  *  文件读写的操作模式: 
  *      Context.MODE_PRIVATE=0:只能是当前的应用才能操作文件 如果创建的文件已经存在 新内容覆盖原内容 
  *      Context.MODE_APPEND=32768:新内容追加到原内容后 这个模式也是私有的 这个文件只能被创建文件的应用所访问 
     *      Context.MODE_WORLD_READABLE=1:允许其他应用程序读取本应用创建的文件 
  *      Context.MODE_WORLD_WRITEABLE=2:允许其他应用程序写入本应用程序创建的文件,会覆盖原数
据。              
  */ 

 

当一个应用程序的操作模式 为Context.MODE_WORLD_READABLE 这种模式时 便可以用外部应用程序去访问

使用SharedPreferences进行数据存储 这章 如果这个应用的SharedPreferences操作模式是Context.MODE_WORLD_READABLE 这种 那么就可以用外部应用访问

 

外部应用访问xml代码

package it.cast;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.util.Log;

public class OtherXml extends Activity {
    private static final String tag="OtherXml";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //构建其它应用访问的上下文信息
        try {
   Context context=this.createPackageContext("itcast.date", Context.CONTEXT_IGNORE_SECURITY);
   SharedPreferences pre=context.getSharedPreferences("itcast", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);
   int age=pre.getInt("age", 1);
   String name=pre.getString("name", "");
   Log.i(tag, "age:"+age+",name:"+name);
  } catch (NameNotFoundException e) {
   
   Log.i(tag, e.toString());
  }
    }
}

 

异常处理:

01-11 07:28:27.463: ERROR/AndroidRuntime(216): Caused by: java.lang.SecurityException: Requesting code fro

这是安全例外异常

 

可以修改上下文访问模式 Context.CONTEXT_INCLUDE_CODE为------------Context.CONTEXT_IGNORE_SECURITY 便可以解决

分享到:
评论

相关推荐

    androidAPK外部调用应用activity

    ### Android APK外部调用应用Activity详解 在Android开发中,应用程序之间通过Intent机制进行通信,这一特性使得一个应用可以启动另一个应用的组件(如Activity、Service等),从而实现跨应用的功能交互。本文将...

    外部RAM访问_2812外部RAM读写_

    标题 "外部RAM访问_2812外部RAM读写_" 指向的是关于TMS320F2812微控制器如何访问并操作其外部RAM的过程。TMS320F2812是德州仪器(TI)生产的一款高性能浮点数字信号处理器(DSP),常用于实时控制应用。在某些情况下...

    关闭 外部 程序(本程序可以关闭外部应用程序)

    标题中的“关闭外部程序”指的是一个使用Delphi编程语言开发的小型应用程序,它的主要功能是能够终止或关闭运行在用户计算机上的其他外部程序。Delphi是一种基于Object Pascal的集成开发环境(IDE),常用于创建...

    DSP28335外部 SRAM 访问实验CCS工程

    **DSP28335外部SRAM访问实验CCS工程详解** 在嵌入式系统设计中,处理器的内部存储资源往往有限,为了扩展其存储能力,我们常常会使用外部存储器,如静态随机存取存储器(SRAM)。TI公司的TMS320F28335是一款高性能...

    禅道外部访问.txt

    因为禅道本身是不让外部访问数据库,但是我们需要额外开发其他东西,经过本人摸索,亲测有效,在此分享给大家,收取5个积分当做辛苦费

    Android移动应用开发中ContentProvider 单元主要内容.pdf

    - `onCreate()`:当 ContentProvider 第一次被外部应用访问时,此方法会被调用,标志着 ContentProvider 的初始化。 - `insert(Uri, ContentValues)`:外部应用可以通过此方法向 ContentProvider 中插入新的数据。 -...

    C# Web应用调试开启外部访问步骤解析

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用。这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用。 目录 设置内网访问 设置外网访问 1. 设置内网访问 在...

    STM32访问外部flash(函数自编 都已测试).rar

    在许多应用中,为了扩展存储空间或者实现程序更新,我们需要让STM32能够访问外部Flash存储器。在这个主题中,我们将深入探讨如何利用STM32的SPI(Serial Peripheral Interface)总线与W25Q128这种常见的SPI接口外部...

    AVR单片机外部RAM访问

    AVR单片机外部RAM访问 ...本文主要介绍了AVR单片机外部RAM访问的相关知识点,包括外部RAM访问理论、外扩芯片、宏定义和函数实现、应用示例等。这些知识点对于AVR单片机外部RAM访问的实现和应用都是非常重要的。

    行业分类-设备装置-利用外部应用程序改写浏览器弹出框的方法和装置.zip

    在IT行业中,尤其是在软件开发和用户体验优化的领域,利用外部应用程序改写浏览器弹出框是一种常见的技术实践。这种技术主要用于改善用户与浏览器交互的方式,提供更个性化或更高效的交互体验。下面将详细讨论这个...

    关于谷歌原生外部存储访问写文件的SAF实现类

    在Android系统中,由于安全性和隐私考虑,对应用访问外部存储(SD卡)的权限进行了严格的控制。在Android 6.0(API级别23)及以上版本,谷歌引入了"运行时权限"机制,应用程序不再默认拥有外部存储的读写权限,而是...

    dsp 外部管脚应用

    ### DSP外部管脚应用知识点详解 #### 一、引言 数字信号处理器(DSP)是专为快速执行数字信号处理算法而设计的一种特殊处理器。在众多DSP产品中,TI公司的TMS320系列因其高性能和广泛应用而备受青睐。本文档主要针对...

    QT通过WebView访问外部网页

    8. **安全考虑**:在实际应用中,访问外部网页需要注意安全问题,如防止跨站脚本攻击(XSS)和钓鱼网站。开发者应当确保加载的URL是可信的,并且在必要时启用安全策略。 9. **调试与日志**:在开发过程中,可能需要...

    狂刷Android范例之3:读写外部存储设备

    在AndroidManifest.xml文件中,我们需要添加相应的权限来允许应用访问外部存储: ```xml ``` 从Android 6.0(API级别23)开始,运行时权限管理要求应用在运行时请求用户授予这些权限。因此,你需要在代码中添加...

    51模拟访问外部存储器

    当51单片机需要处理的数据量超过其内部RAM(随机存取存储器)的容量或者需要访问更高级别的存储设备时,就需要模拟访问外部存储器。这个过程涉及到I/O端口的使用、地址线、数据线和控制线的管理,以及特定的读写操作...

    delphi嵌入外部程序

    总结来说,Delphi嵌入外部程序是一项实用的功能,通过不同的API调用和组件,我们可以灵活地集成各种外部应用程序到自己的Delphi项目中,实现更丰富的功能。同时,确保正确处理"原始程序名称"和异常情况是实现这一...

    springboot内置tomcat与外部tomcat配置https访问及http自动转向https

    为了实现 Spring Boot 应用程序通过内置 Tomcat 服务器支持 HTTPS 访问,我们需要进行以下几个步骤: 1. **生成证书**:首先需要为应用程序生成一个证书文件。可以使用 Java 的 `keytool` 工具来生成一个 PKCS12 ...

    掌握Python函数返回值:在函数外部访问和使用

    函数通过return语句返回值,这些值可以在函数外部被访问和使用,从而实现数据的传递和处理。本文将详细介绍如何在函数外部访问函数的返回值,包括返回单个值、多个值、以及如何使用这些返回值进行进一步的数据处理和...

    rdlc 显示外部图片

    因此,确保外部服务器或本地文件系统有适当的访问控制措施是很重要的。 总的来说,正确配置`LocalReport.EnableExternalImages`和设置`Image.Source`属性,可以让RDLC报表成功地显示来自外部源的图片。这对于创建...

Global site tag (gtag.js) - Google Analytics