在Android应用程序中创建文件,由广播接收器检查以执行操作

时间:2014-04-25 13:57:02

标签: android android-contentprovider android-file

所以目前我在Android应用程序中有一个开关,它在打开时创建一个文件(关闭时删除文件)。当我打开电话时,收到的广播会检查文件是否存在。如果是,那么它会运行一些设置。问题是我在数据目录(而不是应用程序的数据目录)中创建应用程序。因此权限存在问题,我必须使用su chmod来更改权限访问权限。我想避免这个问题所以我在看ContentProviders。

我应该选择内容提供商,还是有一种更简单的方法,因为我不需要阅读该文件,只需检查它是否存在。

我可以在应用程序数据空间中创建文件并从广播接收器访问它吗?

1 个答案:

答案 0 :(得分:0)

尝试一个包含数据的BroadcastReceiver。

发送

Intent intent = new Intent("my.action.string");
intent.putExtra("on", true);
sendBroadcast(intent);

<强>接收

public void onReceive(Context context, Intent intent) {
  if(intent.getAction().equals("my.action.string")){
     boolean state = intent.getExtras().getBoolean("on");
  }
}

<强>清单:

<receiver android:name=".MyReceiver" android:enabled="true">
    <intent-filter>
        <action android:name="my.action.string" />
    </intent-filter>
</receiver>