2016-11-17 19 views
0

バッテリーの情報を取得するためにBatteryStatsHelperを使用すると、「android.permission.BATTERY_STATS」というアクセス権が設定されていますが、システムにはそのアクセス権がありません。BatteryStatsHelperを使用してアプリのバッテリー情報を取得するにはどうすればよいですか?

Caused by: java.lang.SecurityException: uid 10164 does not have android.permission.BATTERY_STATS. 
+0

マニフェストファイルを表示できますか? – MNM

+0

私はアクセス許可がシステムアプリでのみ使用されることがわかります。本当? – bin

+0

bin

答えて

0

ここで、このようなことを試して、Batstatメソッドを削除してください。 こちらをご確認くださいhttp://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html

これは、あなたがバットを監視するために必要なすべての情報を提供するはずです。

public class Main extends Activity { 
private TextView batteryTxt; 
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){ 
@Override 
public void onReceive(Context ctxt, Intent intent) { 
    int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); 
    batteryTxt.setText(String.valueOf(level) + "%"); 
} 
}; 

@Override 
public void onCreate(Bundle b) { 
super.onCreate(b); 
setContentView(R.layout.main); 
batteryTxt = (TextView) this.findViewById(R.id.batteryTxt); 
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 
} 
} 
+0

であることを確認してください。あなたが与える方法は、アプリの消費電力を得ることはできません。この関数を使用すると、 "uid 10202にはandroid.permission.BATTERY_STATSがありません"というエラーが発生するため、BatteryStatsHelper.classの使用方法、特にrefreshStats()を知りたいと思います。 – bin

関連する問題