質問編集履歴

6

編集

2019/03/01 10:39

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
@@ -1 +1 @@
1
- android xamarin killbackgroundprocesses();コンパイル通ったが、実行されていない
1
+ killbackgroundprocesses();で終了できない
test CHANGED
@@ -1,227 +1 @@
1
- #
2
-
3
- Xamarin.Androidでのアプリ開発初心者です。
4
-
5
- android5.1.1を使用しています
6
-
7
- #
8
-
9
- [killbackground();](https://developer.xamarin.com/api/member/Android.App.ActivityManager.KillBackgroundProcesses/p/System.String/)で
10
-
11
-
12
-
13
- バックグラウンドサービスアプリを強制終了しようと思ったのですが、
14
-
15
- 終了されません。compileはすでに通っています。
16
-
17
-
18
-
19
- killbackground();を発動させる際に必要となる
20
-
21
- コードもmanifestのファイルに追加しています。
22
-
23
- コードは以下の通りです。
24
-
25
- ##MainActivity.cs
26
-
27
- ```
28
-
29
- using Android.App;
30
-
31
- using Android.Widget;
32
-
33
- using Android.Content;
34
-
35
- using Android.OS;
36
-
37
-
38
-
39
-
40
-
41
- namespace App8
42
-
43
- {
44
-
45
- [Activity(Label = "App8", MainLauncher = true)]
46
-
47
-
48
-
49
- public class MainActivity : Activity
50
-
51
- {
52
-
53
-
54
-
55
- protected override void OnCreate(Bundle bundle)
56
-
57
- {
58
-
59
-
60
-
61
- base.OnCreate(bundle);
62
-
63
-
64
-
65
- // Set our view from the "main" layout resource
66
-
67
- SetContentView(Resource.Layout.Main);
68
-
69
-
70
-
71
- Button btnM = FindViewById<Button>(Resource.Id.btnSayHello);
72
-
73
- TextView txtV = FindViewById<TextView>(Resource.Id.txtMsg);
74
-
75
-
76
-
77
- ActivityManager am = (ActivityManager)GetSystemService(Context.ActivityService) ;
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
- btnM.Click += delegate
86
-
87
- {
88
-
89
- am.KillBackgroundProcesses("com.google.android.youtube");
90
-
91
- };
92
-
93
-
94
-
95
-
96
-
97
- }
98
-
99
- }
100
-
101
- }
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
- ```
110
-
111
- #AndroidManifest.xml
112
-
113
- ```
114
-
115
- <?xml version="1.0" encoding="utf-8"?>
116
-
117
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
118
-
119
- package="App8.App8"
120
-
121
- android:versionCode="1"
122
-
123
- android:versionName="1.0">
124
-
125
- <uses-sdk android:minSdkVersion="21" />
126
-
127
-
128
-
129
- <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
130
-
131
- <application android:allowBackup="true" android:label="@string/app_name">
132
-
133
- </application>
134
-
135
- </manifest>
136
-
137
- ```
138
-
139
-
140
-
141
- どこに不備がありますか
142
-
143
-
144
-
145
- #補足1
146
-
147
- 目的ですが、以下の通りです。
148
-
149
-
150
-
151
- アンドロイドのスマホ依存症対策のアプリ
152
-
153
- ubhindとアプリロック
154
-
155
- とりあえず、このアプリを組み合わせると
156
-
157
- 自律型の依存対策アプリと変化します。
158
-
159
- これらのアプリはsystem administratorに登録することができて、アンインストール際に
160
-
161
- 設定画面へ行ってとsystem administrator を解除するようにすることができます。
162
-
163
- つまり設定画面を時間帯制限すれば、設定を一定時間いじれなくすることができます。
164
-
165
- また、ubhindでアプリごとに使用時間を制限することができます。
166
-
167
- (その他の詳細は省かせてもらいます)
168
-
169
-
170
-
171
-
172
-
173
- このようなすでにいいものを探しておいたのですが、
174
-
175
- セーフモードの機能で解除できることを知って、使用することを断念しました。
176
-
177
- そのうえセーフモードにしてもネットやゲーム、動画もほとんど普通にできてしまうので。
178
-
179
- そのなか、
180
-
181
- セーフモード中でもロックがかかるものを探していたらsystem administrator登録できる
182
-
183
- offtimeというアプリを発見しました。
184
-
185
- セーフモード中でもアプリを使用制限するとても珍しいアプリなのですが、大変役には立つのですが、
186
-
187
- このアプリは
188
-
189
- やはり、以前使っていたアプリごとに使用時間を制限するソフトを使用したいと思いました。
190
-
191
- そこで、いったんofftimeを使用することにして、通常起動時には先ほどの2つのアプリを使って、offtimeは起動を封じて
192
-
193
- セーフモードではofftimeを使うといった(offtimeを封じるアプリは多分セーフモードでは動かないことを前提にしています)
194
-
195
- ということを考え付きました。
196
-
197
- 要は通常起動時にofftimeの起動をできなくするアプリが作れたらいいのですが、それができなく困っております。
198
-
199
- offtimeというアプリ(サードパーティー製アプリ)がアプリの使用を制限する際、サービスアプリを起動するのですが、
200
-
201
-
202
-
203
- このメソッドを使っても終了してくれません。
204
-
205
- サービスアプリのパッケージ名はDisable Serviceで、これでofftimeのアプリをブロックするサービスのパッケージ名を知ることができます。
206
-
207
-
208
-
209
- [設定→アプリ→無効化では動かなくなるのですが](https://rjgreklgerjgelrtjieritoj.amebaownd.com/posts/3436768)、
210
-
211
- 先ほど述べたkillbackgroundprocessesで終了できません。
1
+ offtimeがkillbackgroundprocessesで終了できません。
212
-
213
-
214
-
215
-
216
-
217
- まとめますと、
218
-
219
- 設定画面を使わずに
220
-
221
- アプリだけでofftimeのアプリをロックするサービスアプリを強制終了するアプリと作ろうと思っています。
222
-
223
-
224
-
225
- 事後的な解決はなしとします。
226
-
227
- セーフモード時に起動することによる危険性も考慮しない(覚悟する)ものとします。

5

追加

2019/03/01 10:39

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
File without changes
test CHANGED
@@ -139,3 +139,89 @@
139
139
 
140
140
 
141
141
  どこに不備がありますか
142
+
143
+
144
+
145
+ #補足1
146
+
147
+ 目的ですが、以下の通りです。
148
+
149
+
150
+
151
+ アンドロイドのスマホ依存症対策のアプリ
152
+
153
+ ubhindとアプリロック
154
+
155
+ とりあえず、このアプリを組み合わせると
156
+
157
+ 自律型の依存対策アプリと変化します。
158
+
159
+ これらのアプリはsystem administratorに登録することができて、アンインストール際に
160
+
161
+ 設定画面へ行ってとsystem administrator を解除するようにすることができます。
162
+
163
+ つまり設定画面を時間帯制限すれば、設定を一定時間いじれなくすることができます。
164
+
165
+ また、ubhindでアプリごとに使用時間を制限することができます。
166
+
167
+ (その他の詳細は省かせてもらいます)
168
+
169
+
170
+
171
+
172
+
173
+ このようなすでにいいものを探しておいたのですが、
174
+
175
+ セーフモードの機能で解除できることを知って、使用することを断念しました。
176
+
177
+ そのうえセーフモードにしてもネットやゲーム、動画もほとんど普通にできてしまうので。
178
+
179
+ そのなか、
180
+
181
+ セーフモード中でもロックがかかるものを探していたらsystem administrator登録できる
182
+
183
+ offtimeというアプリを発見しました。
184
+
185
+ セーフモード中でもアプリを使用制限するとても珍しいアプリなのですが、大変役には立つのですが、
186
+
187
+ このアプリは
188
+
189
+ やはり、以前使っていたアプリごとに使用時間を制限するソフトを使用したいと思いました。
190
+
191
+ そこで、いったんofftimeを使用することにして、通常起動時には先ほどの2つのアプリを使って、offtimeは起動を封じて
192
+
193
+ セーフモードではofftimeを使うといった(offtimeを封じるアプリは多分セーフモードでは動かないことを前提にしています)
194
+
195
+ ということを考え付きました。
196
+
197
+ 要は通常起動時にofftimeの起動をできなくするアプリが作れたらいいのですが、それができなく困っております。
198
+
199
+ offtimeというアプリ(サードパーティー製アプリ)がアプリの使用を制限する際、サービスアプリを起動するのですが、
200
+
201
+
202
+
203
+ このメソッドを使っても終了してくれません。
204
+
205
+ サービスアプリのパッケージ名はDisable Serviceで、これでofftimeのアプリをブロックするサービスのパッケージ名を知ることができます。
206
+
207
+
208
+
209
+ [設定→アプリ→無効化では動かなくなるのですが](https://rjgreklgerjgelrtjieritoj.amebaownd.com/posts/3436768)、
210
+
211
+ 先ほど述べたkillbackgroundprocessesでは終了できません。
212
+
213
+
214
+
215
+
216
+
217
+ まとめますと、
218
+
219
+ 設定画面を使わずに
220
+
221
+ アプリだけでofftimeのアプリをロックするサービスアプリを強制終了するアプリと作ろうと思っています。
222
+
223
+
224
+
225
+ 事後的な解決はなしとします。
226
+
227
+ セーフモード時に起動することによる危険性も考慮しない(覚悟する)ものとします。

4

分加える

2018/01/04 00:07

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,7 @@
135
135
  </manifest>
136
136
 
137
137
  ```
138
+
139
+
140
+
141
+ どこに不備がありますか

3

hennsyuu

2018/01/03 01:22

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
File without changes
test CHANGED
@@ -135,69 +135,3 @@
135
135
  </manifest>
136
136
 
137
137
  ```
138
-
139
-
140
-
141
- ボタンを押すと、指定したパッケージ名の常駐アプリを
142
-
143
- (コードにすでに指定したパッケージ名・ユーザー選択できない)設定を介さずに
144
-
145
- 強制終了するといったプログラムを作成しようと思っていました。
146
-
147
-
148
-
149
- (例えば、常駐アプリAのサービスを設定を介さずに強制終了する)
150
-
151
-
152
-
153
- また設定を介してアプリを強制終了することについては
154
-
155
- [このサイト](https://rjgreklgerjgelrtjieritoj.amebaownd.com/posts/3436768)をご覧ください。
156
-
157
-
158
-
159
- 上のサイトのように設定画面→アプリ→実行中タブ→該当のアプリを選択して
160
-
161
- 停止ボタンを押せばバックグラウンドのサービスを停止できるのですが、
162
-
163
- これを標準の設定アプリを使用せずに強制停止したいです。
164
-
165
- 対象のアプリはofftimeというアプリです。
166
-
167
-
168
-
169
- サービスのパッケージ名は
170
-
171
-
172
-
173
- disable service
174
-
175
- (アプリが起動しているサービスアプリのパッケージ名を知ることができます。)
176
-
177
- Mypkgs
178
-
179
- (アプリのパッケージ名を知ることができます。)
180
-
181
- のアプリで調べております。
182
-
183
-
184
-
185
- そもそもプログラミング側の問題なのか、アンドロイドの仕様側の問題なのかがわかりません。
186
-
187
-
188
-
189
- また、killbackground();を使えば、設定画面を介さずに
190
-
191
- バックグラウンドサービスアプリを強制終了できるのでしょうか。
192
-
193
-
194
-
195
-
196
-
197
- killbackground();で強制終了できないような特殊なアプリ、バックグラウンドサービスアプリが存在するのでしょうか。
198
-
199
-
200
-
201
- 解決策を教えてくださいませんか。
202
-
203
- 回答お願いします。

2

誤字

2018/01/03 01:21

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
@@ -1 +1 @@
1
- android xamarin killbackground();コンパイル通ったが、実行されていない
1
+ android xamarin killbackgroundprocesses();コンパイル通ったが、実行されていない
test CHANGED
File without changes

1

追加

2018/01/02 13:55

投稿

mercurian-teto
mercurian-teto

スコア75

test CHANGED
File without changes
test CHANGED
@@ -172,9 +172,11 @@
172
172
 
173
173
  disable service
174
174
 
175
+ (アプリが起動しているサービスアプリのパッケージ名を知ることができます。)
176
+
175
177
  Mypkgs
176
178
 
177
-
179
+ (アプリのパッケージ名を知ることができます。)
178
180
 
179
181
  のアプリで調べております。
180
182