启用和禁用按钮点击广播接收器 [英] enable and disable broadcast receiver on button click

查看:497
本文介绍了启用和禁用按钮点击广播接收器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想启用和禁用广播接收机开机完整的按钮点击。该接收器应该没有回应,直到被点击一次按钮。我确实看到了一些类似的问题,但无答案的工作..请帮助...

我想这code,但没有奏效。

  PackageManager PM = getApplicationContext()getPackageManager()。
组件名组件名=新的组件名(mypackage中,.receivername);
pm.setComponentEnabledSetting(组件名,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);
 

解决方案

试试这个

  b1.setOnClickListener(新View.OnClickListener(){

     @覆盖
     公共无效的onClick(视图v){
        // TODO自动生成方法存根

            PackageManager下午= Re_editActivity.this.getPackageManager();
            组件名组件名=新的组件名(currentActivity.this,name_of_your_receiver.class);
            pm.setComponentEnabledSetting(组件名,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                            PackageManager.DONT_KILL_APP);
            Toast.makeText(getApplicationContext(),激活,Toast.LENGTH_LONG).show();

            }
        });

b2.setOnClickListener(新View.OnClickListener(){

        @覆盖
        公共无效的onClick(视图v){
            // TODO自动生成方法存根
            PackageManager下午= Re_editActivity.this.getPackageManager();
            组件名组件名=新的组件名(currentActivity.this,name_of_your_receiver.class);
            pm.setComponentEnabledSetting(组件名,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                            PackageManager.DONT_KILL_APP);
            Toast.makeText(getApplicationContext(),取消,Toast.LENGTH_LONG).show();
        }
    });
 

下面按钮1用于激活广播接收器和按钮2至停用  此外ü需要注册广播接收器清单文件,并设置

 <接收器的Andr​​oid版本:NAME =name_of_your_receiver机器人:启用=假>
        <意向滤光器>
            <作用机器人:名称=android.intent.action.BOOT_COMPLETED/>
        &所述; /意图滤光器>
    < /接收器>
 

i want to enable and disable broadcast receiver for boot complete on button click.. The receiver shouldn't respond until button is clicked once. i did see some similar questions but non of the answers worked.. please help...

i tried this code but didn't work..

PackageManager pm  = getApplicationContext().getPackageManager();
ComponentName componentName = new ComponentName("mypackage", ".receivername");
pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

解决方案

Try this

b1.setOnClickListener(new View.OnClickListener() {

     @Override
     public void onClick(View v) {
        // TODO Auto-generated method stub

            PackageManager pm  = Re_editActivity.this.getPackageManager();
            ComponentName componentName = new ComponentName(currentActivity.this, name_of_your_receiver.class);
            pm.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                            PackageManager.DONT_KILL_APP);
            Toast.makeText(getApplicationContext(), "activated", Toast.LENGTH_LONG).show();

            }
        });

b2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            PackageManager pm  = Re_editActivity.this.getPackageManager();
            ComponentName componentName = new ComponentName(currentActivity.this, name_of_your_receiver.class);
            pm.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                            PackageManager.DONT_KILL_APP);
            Toast.makeText(getApplicationContext(), "cancelled", Toast.LENGTH_LONG).show();
        }
    });

here button1 is used to activate broadcast receiver and button2 to deactivate it Also u need to register your broadcast receiver in manifest file and set

<receiver android:name="name_of_your_receiver" android:enabled="false">
        <intent-filter >                
            <action android:name="android.intent.action.BOOT_COMPLETED"/>                
        </intent-filter>
    </receiver>

这篇关于启用和禁用按钮点击广播接收器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆