微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android工作室项目到Unity 5

我在android studio中做了一个通知服务项目,在棒棒糖上运行完美.
现在我正在尝试将它变成Unity 5的插件.但是一旦构建它就会在启动时不断崩溃……

AndroidManifest.xml中:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.techlab.samanthaplugin" >

<application
    android:allowBackup="true"
    android:label="SamanthaPlugin">
    <activity
        android:name="com.techlab.samanthaplugin.MainActivity"
        android:label="SamanthaPlugin" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <service android:name="com.techlab.samanthaplugin.NotificationService"
             android:label="SamanthaPlugin"
             android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">

    <intent-filter>

        <action android:name="android.service.notification.NotificationListenerService" />

    </intent-filter>

</service>

</application>

NotificationService类:

package com.techlab.samanthaplugin;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.support.v4.content.LocalbroadcastManager;


public class NotificationService extends NotificationListenerService {

Context context;

@Override

public void onCreate() {

    super.onCreate();
    context = getApplicationContext();

}
@Override

public void onNotificationPosted(StatusBarNotification sbn) {


    String pack = sbn.getPackageName();
    String ticker = sbn.getNotification().tickerText.toString();
    Bundle extras = sbn.getNotification().extras;
    String title = extras.getString("android.title");
    String text = extras.getCharSequence("android.text").toString();

    Log.i("Package",pack);
    Log.i("Ticker",ticker);
    Log.i("Title",title);
    Log.i("Text",text);

    Intent msgrcv = new Intent("Msg");
    msgrcv.putExtra("package", pack);
    msgrcv.putExtra("ticker", ticker);
    msgrcv.putExtra("title", title);
    msgrcv.putExtra("text", text);

    LocalbroadcastManager.getInstance(context).sendbroadcast(msgrcv);


}

@Override

public void onNotificationRemoved(StatusBarNotification sbn) {
    Log.i("Msg","Notification Removed");

}
}

主要活动:

package com.techlab.samanthaplugin;

import android.app.Activity;
import android.content.broadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v4.content.LocalbroadcastManager;


public class MainActivity extends Activity {

//TableLayout tab;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_main);
    //tab = (TableLayout)findViewById(R.id.tab);
    LocalbroadcastManager.getInstance(this).registerReceiver(onNotice, new IntentFilter("Msg"));

}


private broadcastReceiver onNotice= new broadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        String pack = intent.getStringExtra("package");
        String title = intent.getStringExtra("title");
        String text = intent.getStringExtra("text");



            //TableRow tr = new TableRow(getApplicationContext());
            //tr.setLayoutParams(new TableRow.LayoutParams( TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
            //TextView textview = new TextView(getApplicationContext());
            //textview.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT,1.0f));
            //textview.setTextSize(20);
            //textview.setTextColor(Color.parseColor("#0B0719"));
            //textview.setText(Html.fromHtml(pack +"<br><b>" + title + " : </b>" + text));
            //tr.addView(textview);
            //tab.addView(tr);
    }
};
}

的build.gradle:

apply plugin: 'com.android.library'

android {
compileSdkVersion 21
buildToolsversion "21.0.2"

defaultConfig {
    //applicationId "techlab.samanthaplugin"
    minSdkVersion 19
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }
}
}

dependencies {
compile filetree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.1.71'
compile files('libs/classes.jar')
}
//task to delete the old jar
task deleteOldJar(type: Delete) {
delete 'release/Androidplugin.jar'
}

//task to export contents as jar
task exportJar(type: copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
///Rename the jar
rename('classes.jar', 'Androidplugin.jar')
}

exportJar.dependsOn(deleteOldJar, build)

我似乎无法找到其中哪一个导致崩溃.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐