/** * Collect arrays and put them together * * @param t * @param ids * @param c * @param u uri indices; could be zero, IMPOSSIBLE_INDEX will be used */ private void generateItemMapping(Intent intent) { // Read the mapping data int[] viewTypes = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_TYPES); int[] viewIds = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_IDS); int[] cursorIndices = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_CURSOR_INDICES); int[] defaultResources = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_DEFAULT_RESOURCES); boolean[] viewClickable = intent.getBooleanArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_CLICKABLE); // Check if (viewTypes == null || viewIds == null || cursorIndices == null) throw (new IllegalArgumentException("A mapping component is missing")); if (viewTypes.length == viewIds.length && viewTypes.length == cursorIndices.length) { } else throw (new IllegalArgumentException("Mapping inconsistent")); // Init mapping array final int size = viewTypes.length; mItemMappings = new ItemMapping[size]; for (int i = size - 1; i >= 0; i--) mItemMappings[i] = new ItemMapping(viewTypes[i], viewIds[i], cursorIndices[i]); // Put extra data in if they are available if (viewClickable != null && viewClickable.length == size) for (int i = size - 1; i >= 0; i--) mItemMappings[i].clickable = viewClickable[i]; if (defaultResources != null && defaultResources.length == size) for (int i = size - 1; i >= 0; i--) mItemMappings[i].defaultResource = defaultResources[i]; }
// 从设置闹钟周期Activity返回的数据 protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == WeekRepeatActivity.RESULT_CODE) { param.setRepeat(data.getBooleanArrayExtra("repeat")); clockCircleButton.setText("闹钟周期:" + param.getRepeatInfo(param.getRepeat())); } if (requestCode == REQUEST_CODE && resultCode == SelectMusicActivity.RESULT_CODE) { String path = data.getExtras().getString("path"); param.setAudiotype(path); String[] name = path.split("/"); System.out.println("return ring" + path + " name " + name[name.length - 1]); musicButton.setText("铃声:" + name[name.length - 1]); } }
@Override public void onReceive(Context context, Intent intent) { Log.i("AlarmReceiver:onReceive", "|" + "============ receive" + "|"); boolean[] week = intent.getBooleanArrayExtra("weekday"); Log.i("AlarmReceiver:onReceive", "|일 : " + week[Calendar.SUNDAY]); Log.i("AlarmReceiver:onReceive", "|월 : " + week[Calendar.MONDAY]); Log.i("AlarmReceiver:onReceive", "|화 : " + week[Calendar.TUESDAY]); Log.i("AlarmReceiver:onReceive", "|수 : " + week[Calendar.WEDNESDAY]); Log.i("AlarmReceiver:onReceive", "|목 : " + week[Calendar.THURSDAY]); Log.i("AlarmReceiver:onReceive", "|금 : " + week[Calendar.FRIDAY]); Log.i("AlarmReceiver:onReceive", "|토 : " + week[Calendar.SATURDAY]); Calendar cal = Calendar.getInstance(); Log.i("AlarmReceiver:onReceive", "|" + cal.get(Calendar.DAY_OF_WEEK) + "|"); // 오늘 요일의 알람 재생이 true이면 사운드 재생 if (!week[cal.get(Calendar.DAY_OF_WEEK)]) return; File file = new File(intent.getStringExtra("file")); Log.i("AlarmReceiver:onReceive", "|" + file.toString() + "|"); MediaPlayer player = new MediaPlayer(); player.setOnPreparedListener( new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } }); try { player.setDataSource(file.toString()); player.prepare(); } catch (Exception e) { e.printStackTrace(); } }