2013-06-28 105 views
2

我想在用户更改手机的配置文件时触发事件,但我不确定如何。理想情况下,我可以捕捉广播意图,并知道配置文件何时发生变化,但我一直无法找到任何文档。如何在设备配置文件更改时触发事件?

如果我是正确的,配置文件系统不是AOSP股票的一部分,而是Cyanogenmod。

我已经通过仅有的两个配置文件相关的类跋涉我能找到的:

唯一的广播意图,我能找到的here

关于如何完成这个任何想法?我的应用程序只针对运行Cyanogenmod 10.1的设备。这是CyanogenMod的配置文件管理器,让您更清楚地了解我在说什么。

enter image description here

+0

也许你可以创建后台服务,每隔10秒检查当前配置文件是否与保存的配置文件相同。 –

+0

轮询始终是一种选择,但我一直在寻找可能埋在源代码中的回调或意图。 –

回答

0

按我用的CyanogenMod开发者的讨论,也可以通过添加一个BroadcastReceiverIntentProfileManagerService.java

处理的问题是,这个意图是从ProfileManager.java类失踪,而不是其他地方存在。

此问题的问题可在Cyanogenmod's issue tracker找到。

1

由于这些是两个不同的环境中,我不认为这是可能的,现在当你从一个到另一个开关来检测。

+0

请看看我编辑的问题。我已经添加了更多关于“个人资料”的含义。我正在讨论系统配置文件,而不是用户配置文件。 –

+0

在这种情况下,情况确实非常不同。这仅仅是一个氰特征?在这种情况下,你可能应该在那里提出你的问题,也许可以打开一个功能请求(或者更好的请求)。 – Teovald

2

不确定我是否对你想要的是正确的,但在我的情况下,它的工作良好。尝试,如果它可以帮助你。
我这里使用2个按钮设置配置文件作为沉默默认 mode.Trigger您的活动时,将这些时激活按钮的点击。

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    final TextView text = (TextView) findViewById(R.id.text1); 

    Button silent = (Button) findViewById(R.id.silent); 
    Button default = (Button) findViewById(R.id.default); 

    final AudioManager mode = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 

    silent.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      text.setText("The Mobile in Silent Mode"); //i use example case,trigger your event here 

      mode.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
      Toast.makeText(getBaseContext(), "Silent Mode Activated",Toast.LENGTH_LONG).show() 
     } 
    }); 

    default.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      text.setText("The Mobile in Default Mode"); //trigger your event here 

      mode.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
      Toast.makeText(getBaseContext(), "Default Mode Activated", Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 

显然,这也可以帮助你..

+0

你的答案与用户想要的完全不同。 –

1

我如何可以触发事件时,该设备的配置文件变为?

Android对此没有任何支持,换句话说就是您在更改配置文件时无法触发某些事件。

您只能在设备振铃模式发生变化但不是配置文件时触发事件。

即使我找不到设备的配置文件名称和当前设置的配置文件名称,这可能是您正在搜索的方式。

相关问题