所以目前我在Android应用程序中有一个开关,它在打开时创建一个文件(关闭时删除文件)。当我打开电话时,收到的广播会检查文件是否存在。如果是,那么它会运行一些设置。问题是我在数据目录(而不是应用程序的数据目录)中创建应用程序。因此权限存在问题,我必须使用su chmod来更改权限访问权限。我想避免这个问题所以我在看ContentProviders。
我应该选择内容提供商,还是有一种更简单的方法,因为我不需要阅读该文件,只需检查它是否存在。
我可以在应用程序数据空间中创建文件并从广播接收器访问它吗?
答案 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>