質問編集履歴

3

情報の追加

2017/05/11 00:16

投稿

RNagamatsu
RNagamatsu

スコア13

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- ※捕捉
45
+ ※捕捉
46
46
 
47
47
  あるサイトでこのような解決方法を見つけたのですが、
48
48
 
@@ -78,6 +78,56 @@
78
78
 
79
79
  結局アプリは強制終了する状態です。alertDialog.show()のところでエラーが出ています。
80
80
 
81
+
82
+
83
+ ※捕捉2
84
+
85
+ Logcatの内容です。PhoneReceiverに青文字がついています。
86
+
87
+ ```Java
88
+
89
+ 05-11 09:13:42.101 26582-26582/com.example.ma2ri.newstage E/AndroidRuntime: FATAL EXCEPTION: main
90
+
91
+ Process: com.example.ma2ri.newstage, PID: 26582
92
+
93
+ java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
94
+
95
+ at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:343)
96
+
97
+ at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)
98
+
99
+ at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277)
100
+
101
+ at android.support.v7.app.AppCompatDialog.setContentView(AppCompatDialog.java:80)
102
+
103
+ at android.support.v7.app.AlertController.installContent(AlertController.java:214)
104
+
105
+ at android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:256)
106
+
107
+ at android.app.Dialog.dispatchOnCreate(Dialog.java:578)
108
+
109
+ at android.app.Dialog.show(Dialog.java:314)
110
+
111
+ at com.example.ma2ri.newstage.PhoneReceiver.showWarningAlert(PhoneReceiver.java:173)
112
+
113
+ at com.example.ma2ri.newstage.PhoneReceiver.onCallStateChanged(PhoneReceiver.java:60)
114
+
115
+ at android.telephony.PhoneStateListener$1.handleMessage(PhoneStateListener.java:323)
116
+
117
+ at android.os.Handler.dispatchMessage(Handler.java:102)
118
+
119
+ at android.os.Looper.loop(Looper.java:158)
120
+
121
+ at android.app.ActivityThread.main(ActivityThread.java:7237)
122
+
123
+ at java.lang.reflect.Method.invoke(Native Method)
124
+
125
+ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
126
+
127
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
128
+
129
+ ```
130
+
81
131
 
82
132
 
83
133
 

2

書式の改善

2017/05/11 00:16

投稿

RNagamatsu
RNagamatsu

スコア13

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  着信の状態を捕捉するクラス(PhoneReceiver.class)を下の様に作っていまして、着信が入ると
6
6
 
7
+ ```Java
8
+
7
9
  AlertDialog.Builder builder = new AlertDialog.Builder(context);
8
10
 
9
11
  builder.setMessage(R.string.dialog_message)
@@ -16,6 +18,8 @@
16
18
 
17
19
  builder.show();
18
20
 
21
+ ```
22
+
19
23
  という形でAlertDialogを表示させようとしましたが、アプリが強制終了します。
20
24
 
21
25
  PhoneReceiverクラスがActivityクラスじゃないということが理由なのだろうと思いつつも、具体的な解決策を出せないでいます。
@@ -42,6 +46,8 @@
42
46
 
43
47
  あるサイトでこのような解決方法を見つけたのですが、
44
48
 
49
+ ```Java
50
+
45
51
  public void showWarningAlert(Context context) { //Added argument
46
52
 
47
53
  AlertDialog alertDialog = new AlertDialog.Builder(context).create(); //Use context
@@ -68,12 +74,16 @@
68
74
 
69
75
  }
70
76
 
77
+ ```
78
+
71
79
  結局アプリは強制終了する状態です。alertDialog.show()のところでエラーが出ています。
72
80
 
73
81
 
74
82
 
75
83
 
76
84
 
85
+ ```Java
86
+
77
87
  class PhoneReceiver extends PhoneStateListener {
78
88
 
79
89
  private int totalCount = 0;
@@ -194,4 +204,6 @@
194
204
 
195
205
  }
196
206
 
207
+ ```
208
+
197
209
  _

1

情報の追加

2017/05/11 00:10

投稿

RNagamatsu
RNagamatsu

スコア13

test CHANGED
File without changes
test CHANGED
@@ -35,6 +35,40 @@
35
35
  PhoneReceiverのコードは下に記載しています。
36
36
 
37
37
  それとも根本的にやり方を変えた方がよいのでしょうか。
38
+
39
+
40
+
41
+ ※捕捉
42
+
43
+ あるサイトでこのような解決方法を見つけたのですが、
44
+
45
+ public void showWarningAlert(Context context) { //Added argument
46
+
47
+ AlertDialog alertDialog = new AlertDialog.Builder(context).create(); //Use context
48
+
49
+ alertDialog.setTitle("Warning");
50
+
51
+ alertDialog.setMessage("You are currently in a battle");
52
+
53
+ alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
54
+
55
+ new DialogInterface.OnClickListener() {
56
+
57
+ public void onClick(DialogInterface dialog, int which) {
58
+
59
+ dialog.dismiss();
60
+
61
+ }
62
+
63
+ });
64
+
65
+ alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
66
+
67
+ alertDialog.show();
68
+
69
+ }
70
+
71
+ 結局アプリは強制終了する状態です。alertDialog.show()のところでエラーが出ています。
38
72
 
39
73
 
40
74