2017-03-02 4 views
1

私はthis-サービスのためのAlertDialogの代替手段はありますか?

private void display() { 
    File sdcard = Environment.getExternalStorageDirectory(); 
    File file = new File(sdcard, "broadcast.txt"); 
    StringBuilder text = new StringBuilder(); 
    try { 
     BufferedReader br = new BufferedReader(new FileReader(file)); 
     String line; 
     while ((line = br.readLine()) != null) { 
      text.append(line); 
      text.append('\n'); 
     } 
     br.close(); 
    } catch (IOException e) { 
    } 
    if (!text.toString().contains("null")) { 
     AlertDialog alertDialog = new AlertDialog.Builder(this) 
       .setTitle("BROADCAST").setMessage(text).create(); 
     alertDialog.getWindow().setType(
       WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
     alertDialog.show(); 
    } else { 
     // don't show 
    } 
} 

これは完全に正常に動作しますが、それはマニフェストに許可を必要とするように私のサービスを通じてAlertDialogを表示しようとしています -

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

私が使用できる何か他のものがあります私のサービスを通して私のテキストを表示する?私はこの許可を使用したくない、また、私はサービスを通じてそれを欲しい。活動ではありません。

+0

トーストや通知が –

答えて

1

Androidにはこの目的のための通知があります。

通知が不十分な場合は、標準アクティビティまたはダイアログのテーマアクティビティを押して「詳細」画面を開くことができます。

https://developer.android.com/guide/topics/ui/notifiers/notifications.html

+0

は覚えている唯一の方法である、Androidのサポートライブラリは、私が使用していないテーマとスタイルを上書きします – user352621

関連する問題