2017-07-19 16 views
0

私はwebviewとJavascript Interfaceを使ってWebアプリケーションと通信します。Android(サービスクラス) - 初めてのgetApplicationContext()

たとえば、他のプロジェクト(作業バージョン)から通知するコードがあります。私は(静的)を定義OnCreate関数で

PACKAGE_NAME = getApplicationContext().getPackageName(); 

PACKAGE_NAMEは、通知方法で動作しなくgetApplicationContext()getPackageName().I iが固定置き換え。

1)= getApplicationContext(のための変数を作成する方法)。getResources()

if (CURRENT__ == 1) { 
      contentNotify =new RemoteViews(PACKAGE_NAME , R.layout.big2); 
      contentNotifySmall = new RemoteViews(PACKAGE_NAME , R.layout.small1); 
     } 
     else { 
      contentNotify =new RemoteViews(PACKAGE_NAME, R.layout.big1); 
      contentNotifySmall = new RemoteViews(PACKAGE_NAME, R.layout.small2); 
     } 


icon = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ic_launcher); 
// NOT EXECUTE CODE FROM HERE (only first time) 
icon = BitmapFactory.decodeResource(getApplicationContext().getResources() , R.drawable.ic_launcher); 

mBuilder = new NotificationCompat.Builder(this); 
mBuilder.setShowWhen(false); 

etc. 

私はonStartCommandにmainActivityにし、サービスクラスのサービスを最初に起動したときには、私は、通知メソッドを呼び出します。

その後、私はJavascript(JSインタフェース)から通知メソッドを呼び出します。

+0

あなたが何を求めていますか? –

+0

このgetApplicationContext()。getResources()イントロ変数を切り替えるには... –

答えて

1

Context.getApplicationContext().getResources()Resourcesオブジェクトを返しますので、あなたはその中で、それを保存することができます:

Resources res = getApplicationContext().getResources(); 
関連する問題