2013-06-28 112 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對此沒有任何支持,換句話說就是您在更改配置文件時無法觸發某些事件。

您只能在設備振鈴模式發生變化但不是配置文件時觸發事件。

即使我找不到設備的配置文件名稱和當前設置的配置文件名稱,這可能是您正在搜索的方式。

相關問題