一、注册
<provider
android:name="com.android.settings.breathlamp.ZF_BreathLampProvider"
android:authorities="com.android.settings.breathlamp.Provider"
android:exported="true" >
</provider>
二、创建
mContext = this;
breathLampDao = new ZF_BreathLampDao(this);
packagenames = breathLampDao.findAll();
setContentView(R.layout.notification_lamp_switch);
apppackagename = getIntent().getStringExtra(RETURN_INFO);
//sp = PreferenceManager.getDefaultSharedPreferences(this) ;
sp = mContext.getSharedPreferences(
SHAREPREFERENCE_NAME, Context.MODE_WORLD_READABLE);
int checked = sp.getInt(apppackagename,0);
mswitch = (Switch) findViewById(R.id.notificationlamp_switch);
mswitch.setChecked(checked == 1);
mswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
setappnotificationTypeByKey(apppackagename,1);
/*Intent intent = new Intent("android.intent.action.ZF_BREATHING_SETTING");
Bundle bundle=new Bundle();
bundle.putString("appPackageName",apppackagename);
bundle.putInt("settingLampFlag", 1);
intent.putExtra("settinglampdata", bundle);
mContext.sendBroadcast(intent);*/
//先判断是否已经添加进数据库
mHandler.postDelayed(mRunnable, 100);
}else{
setappnotificationTypeByKey(apppackagename,0);
/*Intent intent = new Intent("android.intent.action.ZF_BREATHING_SETTING");
Bundle bundle=new Bundle();
bundle.putString("appPackageName",apppackagename);
bundle.putInt("settingLampFlag", 0);
intent.putExtra("settinglampdata", bundle);
mContext.sendBroadcast(intent);*/
//int id = breathLampDao.queryId(apppackagename);
//breathLampDao.update(id,apppackagename,0+"");
mHandler.postDelayed(mRunnable, 100);
}
}
});
三、调用
private boolean isBreath(String packagename){
if(packagename == null) return false;
ContentResolver resolver = mContext.getContentResolver();
Uri guestUri = Uri
.parse("content://com.android.settings.breathlamp.Provider/appinfo");
Cursor cursor = resolver.query(guestUri, new String[]{"packagename","breathflag"}, null, null, "id desc");
while(cursor.moveToNext()){
String name = cursor.getString(0);
String flag = cursor.getString(1);
if(packagename.contains(name) && flag.contains("1")){
return true;
}
Log.i("zyl log 1211","PhoneStatusBar--->isBreath.name = " + name);
Log.i("zyl log 1211","PhoneStatusBar--->isBreath.flag = " + flag);
Log.i("zyl log 1211","=========================");
}
cursor.close();
return false;
}