該当部分がこれ
public static final String STATUS_BAR_SERVICE = "statusbar";
...
private void showNotifications() {
final StatusBarManager statusBar = (StatusBarManager) getSystemService(STATUS_BAR_SERVICE);
if (statusBar != null) {
statusBar.expand();
}
}
StatusBarManager を使う。が、StatusBarManager は @hide である。
よって、これを使いたい場合の方法は、@hide を含む android.jar を使ってアプリを作る or リフレクションする。
例えばリフレクションするならこんな感じ
private void showNotifications() {
try {
Object service = getSystemService("statusbar");
Class clazz = Class.forName("android.app.StatusBarManager");
Method method = clazz.getMethod("expand");
method.invoke(service);
} catch (Exception e) {
e.printStackTrace();
}
}
ちなみに、AndroidManifest.xml で uses-permission に android.permission.EXPAND_STATUS_BAR が必要。
0 件のコメント:
コメントを投稿